DAK*_*KSH 0 php mysql mysql-real-escape-string
我有一个mysql查询
mysql_query("SELECT name,symbol FROM scode WHERE change='$change'
AND product='$product' AND series='$typeo'
AND (name LIKE '%$check%' OR symbol LIKE '%$check%') LIMIT 5");
Run Code Online (Sandbox Code Playgroud)
它完美地工作但是如果我尝试使用mysql字符串使用相同的查询,则查询不返回任何结果.我试过这样的
$query= sprintf("SELECT name,symbol FROM `scode` WHERE change='%s'
AND product='%s' AND series='%s' AND (name LIKE '%s' OR symbol LIKE '%s')
LIMIT 5",
mysql_real_escape_string($change),
mysql_real_escape_string($product),
mysql_real_escape_string($typeo),
mysql_real_escape_string($check),
mysql_real_escape_string($check));
$fetch= mysql_query($query);
Run Code Online (Sandbox Code Playgroud)
如何进行有效的查询?有人可以帮帮我吗?谢谢.
好吧不,它不会起作用,因为在第一个你做了LIKE %term%,在第二个你做了LIKE term.尝试添加%%,像这样:
$query= sprintf("SELECT name,symbol FROM `scode` WHERE change='%s' AND product='%s' AND series='%s' AND (name LIKE '%%%s%%' OR symbol LIKE '%%%s%%') LIMIT 5",mysql_real_escape_string($change),mysql_real_escape_string($product),mysql_real_escape_string($typeo),mysql_real_escape_string($check),mysql_real_escape_string($check));
$fetch= mysql_query($query);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |