comment utiliser comme requête dans drupal
Comment écrire de SQL COMME Requête dans drupal ,
SELECT title FROM { node } WHERE type='%s'
je veux ajouter COMME CONDITION QUE
SELECT title FROM { node } WHERE type='%s' AND LIKE '%S%'
je pense que je writtern mal comme requête formnat, peut réécrire et dites-moi,
OriginalL'auteur Bharanikumar | 2010-11-02
Vous devez vous connecter pour publier un commentaire.
Simplement utiliser % pour s'échapper.
Type de nœud n'a pas besoin de s'évader.
OriginalL'auteur Kevin
drupal_query remplacer %% à % et %s à la chaîne de valeur de
de sorte que votre code sera
OriginalL'auteur Igor Rodinov
OK, si vous voulez la
LIKE
opérateur se référer à latitle
colonne. Utiliser cette requête:C'est parce que le
LIKE
opérateur nécessite un nom de colonne pour être spécifiée. Sinon, votre base de données n'est pas du tout quelle est la valeur que vous voulez pour effectuer la comparaison. Voir ici.je demande pour drupal
C'est correct, mais vous devez ajouter des variables à la place de celles d'origine. Donc, $sql = db_query("SELECT titre DE nœud OÙ type='%s' ET le titre LIKE '%S%'", $type, $titre); $result = db_result($sql); $type $et le titre sont les mêmes que les choses que vous êtes de filtrage pour. Vous pouvez avoir connu cela; je voulais juste le mentionner.
Merci; mise à jour de ma réponse à inclure cette.
Ah! Comme indiqué dans la réponse ci-dessous, vous avez pour échapper à la s%. donc %S% %%%S%%.
OriginalL'auteur Donut
Et voici un exemple de comment l'utiliser, COMME dans une requête dynamique (Drupal 7 Seulement):
db_like()
est utilisé pour s'échappe les caractères qui fonctionnent comme des caractères génériques dans un motif semblable.Bon j'ai édité ma réponse il est clair que cela ne fonctionne que sur Drupal 7. Pourrait être utile à quelqu'un...
C'est génial, merci!
OriginalL'auteur Felix Eve