繁体   English   中英

MySQL LIKE查询不适用于带有撇号的搜索记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM