mysql检查手动错误

时间:2013-02-12 14:16:32

标签: php mysql

在编写以下代码后遇到了我从未见过的错误:

$query= "UPDATE `Pharm_Log` SET `text` = ". $bloodtest . " WHERE `id` = " . $patientid;
   $result = mysql_query($query) or die(mysql_error());

我的错误讯息是

  

“您的SQL语法有错误;请查看手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近'压力测试:235/43 WHERE id = 1'在第1行“

任何人都知道如何解决这个问题?非常感谢

1 个答案:

答案 0 :(得分:8)

字符串文字($bloodtest )必须用单引号换行,

$query= "UPDATE `Pharm_Log` SET `text` = '". $bloodtest . "' WHERE `id` = " . $patientid;
$result = mysql_query($query) or die(mysql_error());

作为旁注,如果变量的值( s )来自外部,则查询易受SQL Injection攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。