[英]MySQL LIKE query is not worked for search record with apostrophes
当我开始从数据库中搜索记录时,我在单词中使用单引号引起了问题,我使用了addlashes,mysql_real_escape_strin,但不适用于此
<?php
include("lib/dbconn.php");
$list_query_main1="select * from table where name like '%".mysql_real_escape_string($_REQUEST['keyword'])."%'";
$list=mysql_query($list_query_main1);
echo mysql_num_rows($list);
?>
找到零结果,但数据库中存在名称给我解决方案。
您正在获取mysql错误
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table' at line 1
因为TABLE是保留字。 如果您将表命名为TABLE,则必须使用正确的mysql语法
$list_query_main1="select * from `table` where `name` like '%".mysql_real_escape_string($_REQUEST['keyword'])."%'";
添加if(!$list || mysql_errno() != 0) echo mysql_error();
在$list=mysql_query($list_query_main1);
会在查询失败的情况下为您提供一些信息
否则,不建议使用myqsl_ *,您应该开始使用mysqli_ *函数。
并更改最后一行
echo $mysql_num_rows($list);
并替换为
echo mysql_num_rows($list);
如果要调用myqsl_num_rows()函数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.