Requête contenant deux db_placeholders, possible ?

Bonjour,

J’aimerais obtenir votre avis en ce qui concerne une requête sql.

Cette requête fonctionne.
$themes et $types sont deux tableaux.

  $result = db_query("SELECT n.nid, n.title, n.type, n.created, cfd.field_date_value
                    FROM {node} AS n
                    LEFT JOIN {content_field_date} as cfd
                    ON n.nid=cfd.nid
                    JOIN {term_node} AS tn
                    ON n.nid=tn.nid
                    WHERE n.type IN (" . db_placeholders($types, 'varchar') . ")
                    AND tn.tid IN (" . implode(',', $themes) . ")
                    AND n.status=1
                    GROUP BY n.title", $types);

Cependant, si je veux suivre les bonnes pratiques de Drupal pour le développement, lorsque j’utilise deux db_placeholers en suivant comme ci-dessous, plus rien ne va.

WHERE n.type IN (" . db_placeholders($types, 'varchar') . ")
                    AND tn.tid IN (" . db_placeholders($themes, 'int') . ")
                    AND n.status=1
                    GROUP BY n.title", $types, themes);

Ma question était simplement de savoir si deux db_placeholders pouvaient se suivre ?

#

Lorsqu’on regarde la doc sur les API, on peut théoriquement utiliser plusieurs db_placeholders : http://api.drupal.org/api/drupal/includes—database.inc/function/db_plac…

Dans ton 2eme code, tu écris tout à la fin themes au lieu de $themes. C’est peut-être ce qui cause problème

Syndiquer le contenu