2009-08-18 4 views
1

簡単な質問:mysqli_escape_stringはlike節に囲まれた変数をどうやって作るのですか?Mysqlのような構文

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

または

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

動作しません。

ありがとうございます!

+1

それとも、あなたは、あなたがパラメータを使用する必要があり、完全にエスケープに対処することを避けるためにしたい場合:名LIKEテーブルSELECT * FROM?第1のパラメータは値「%$ search%」などを有する。 –

答えて

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

それとも、このようにsprintfでこれをacheiveできます

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

私はsprintf( "SELECT"、mysqli_escape_string($ link、$ var))に慣れてきました。 – Dirk

+0

あなたのメソッドを使って動作するように修正しましたが、それを動作させることができませんでしたsprintf – Dirk

+0

@Michael - sprintfの最新の例を試してみてください。 – Sampson