无法使用PHP使用引号更新SQL数据库

时间:2014-11-24 04:50:35

标签: php mysql

我最近将PHP更新为5.4,并且我开始在一些旧的现有代码上出现一些错误。 我有内容我想像MySQL一样更新:

It was therefore extremely fitting that the trip also included the release of 'Bunny', a juvenile

我以前用过的代码:

$upsql = "UPDATE webpg_tbl SET txt = '$_POST[txt]' WHERE id='$_POST[modify]'";

我认为这可能是一个语法问题,我添加了双引号和"。"像这样进入查询:

$upsql = "UPDATE webpg_tbl SET txt = '".$_POST[txt]."' WHERE id='".$_POST[modify]."'";

但是当执行查询时:

$result = mysql_query($upsql) or print mysql_error() ;

我明白了:

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 'Bunny', a juvenile green turtle rescued on the 4t' at line 3 

我非常有信心引起这个问题的报价。 PHP中有什么东西我可以使用它来接受引号吗? 我知道我正在使用的代码已经过时了。但由于时间/预算的限制。我被迫暂时让它继续工作。

1 个答案:

答案 0 :(得分:2)

至少你真的需要escape你的代码。并且逃避代码也应该解决您的问题。理想情况下,您应该使用PDO并仅绑定变量,但如果您不使用PDO,则转义代码应该有效