在PHP中使用mysql_query()时出错

在PHP中使用mysql_query()时出错,php,mysql,Php,Mysql,我的代码如下所示 $var = 'ID="'. mysql_real_escape_string($data[0]).'" AND SYS="'.mysql_real_escape_string($data[2]). '" AND TITLE="'.mysql_real_escape_string($data[1]).'"'; $sql = 'SELECT * FROM `table_name` WHERE '. $var; $result = mysql_query($sql); 在wher

我的代码如下所示

$var = 'ID="'. mysql_real_escape_string($data[0]).'" AND SYS="'.mysql_real_escape_string($data[2]). '" AND TITLE="'.mysql_real_escape_string($data[1]).'"';
$sql = 'SELECT * FROM `table_name` WHERE '. $var;
$result = mysql_query($sql);
在where条件下,TITLE在使用单引号时“即使使用了mysql\u real\u escape\u string函数,我仍面临以下错误”

抛出的错误是

Resource id #5You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Created', 'Test', 'Test', '0000-00-00 00:00:00', ' at line 25

在发送SQL查询之前,尝试将其以竞争形式转储。
这样您就可以发现错误。

在转储之后,您似乎遇到了撇号问题

你可以这样改变你的报价

  $var = "ID='". mysql_real_escape_string($data[0])."' AND SYS='".mysql_real_escape_string($data[2]). "' AND TITLE='".mysql_real_escape_string($data[1])."' ";
  $sql = "SELECT * FROM `table_name` WHERE ". $var;
  $result = mysql_query($sql);

$finalvar=stripslashes$var


$sql='SELECT*FROM table_name WHERE'$终局

发布表列发布SELECT查询时,很明显这是一个INSERT/UPDATE错误。问题不在上述查询中。可能还有另一个插入问题这不能直接回答你的问题,但我知道这会有帮助。从现在起,我强烈建议对所有数据库调用使用PDO或MySQLi。PHP的所有mysql_*函数都已被正式弃用;当我转储它时,sql看起来像这个SELECT*FROM table_name,其中ID=123456和SYS=Test和TITLE=Test的CreatedI,即使在转义单引号之后,仍然面临错误。数组变量数据如下ID=12345 SYS=Test TITLE=Test的Created。当TTILE作为测试的CreatedHello Rajesh转义时,在使用stripslashes之后,我也面临同样的错误。