打印到屏幕mysql错误报告

时间:2016-10-10 14:06:07

标签: php mysql

我在四个不同的文件中有这段代码:

else {/* INSERT INTO DATABASE */
    mysql_query("INSERT INTO delayed_jobs2 VALUES('','Plumbing','$invoice_number','$timestamp','$delayed_reason','$other_reason','$last_name' )") or die ("Could not insert into database line 2162");  
    }

除了一个之外,代码运行正常。没问题。在一个我得到一个错误陈述,说:

  

无法插入数据库行2162

我不确定为什么它在三个不同的文件中工作,而不是第四个。所有四个代码都相同。有什么建议可以看吗?或者如何从数据库中获取更多信息。我相信数据库可能有这个文件的问题,但我不确定。

另外,我知道我的代码已被弃用。我将继续努力。不推荐使用不推荐的代码,因为所有代码都被弃用,而不仅仅是几件代码。

1 个答案:

答案 0 :(得分:4)

  

“正在插入的名称是O'Snowman。单引号是否会导致此错误?”

是的,它是撇号,是一个SQL注入。

正如我在评论中所述:

如果您想保留报价,请使用mysql_real_escape_string()addslashes()

参考文献:

由于您似乎无法使用MySQL_ API,因此您需要在此处转义所有用户输入。

你真的需要继续使用带有预准备语句的MySQLi_或PDO API;这非常重要。

参考文献: