在PHP中使用mysql_query()时出错

时间:2014-02-11 10:12:01

标签: 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);

在where条件中,TITLE使用单引号(')即使使用mysql_real_escape_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

3 个答案:

答案 0 :(得分:0)

转储后看起来像撇号有问题

你可以像那样改变你的报价

  $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);

答案 1 :(得分:0)

$ finalvar =的stripslashes($变种);

$ sql ='SELECT * FROM table_name WHERE'。 $ finalvar;

答案 2 :(得分:-1)

尝试在发送之前以竞争形式转储SQL查询。 你将能够以这种方式发现错误。