2009-08-18 7 views
1

Question rapide: Comment puis-je mysqli_escape_string une variable incluse dans une clause similaire?Mysql Like Syntax

"SELECT * FROM table WHERE name LIKE '%". %s . "%'"  

ou

"SELECT * FROM table WHERE name like '%"."%s"."%'" 

ne fonctionnent pas.

Merci!

+1

Ou, si vous voulez éviter d'avoir à faire face à échapper tout à fait, vous devez utiliser les paramètres: SELECT * FROM table WHERE nom LIKE? , où le premier paramètre a la valeur "% $ search%" ou similaire. –

Répondre

5
$value = mysql_real_escape_string($_POST["terms"]); 
$query = "SELECT * FROM table WHERE name LIKE '%".$value."%'"; 

Ou vous pouvez acheive cela avec sprintf comme ceci:

$query = sprintf("SELECT * FROM table WHERE name LIKE '%s'", "%".$value."%"); 
+0

Hm laissez-moi vérifier cela très rapide - J'ai été habitué à sprintf ("SELECT", mysqli_escape_string ($ link, $ var)) – Dirk

+0

Je l'ai réparé pour travailler en utilisant votre méthode, mais n'a pas réussi à le faire fonctionner avec sprintf – Dirk

+0

@Michael - Essayez l'exemple mis à jour pour sprintf. – Sampson