当我开始从db中搜索记录时,当撇号出现在单词中时出现了问题 为此,我使用了addslashes,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);
?>
找到零结果,但DB中的名称为我提供了解决方案。
答案 0 :(得分:1)
你得到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'])."%'";
答案 1 :(得分:0)
在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()函数