首页 > 解决方案 > SQL 中的 PHP 引号

问题描述

为什么这段代码会产生错误

  $sql = "INSERT INTO accountlist VALUES (\"\", \"$user\", \"$pwd\", \"$mail\", \"$date\")";

而这个没有?

  $sql = "INSERT INTO accountlist VALUES ('', '$user', '$pwd', '$mail', '$date')";

我知道双引号会处理变量,而单引号不会,所以第一个选项应该是正确的,但恰恰相反!

标签: phpmysqlsqlquotes

解决方案


因为在第一个你忘记连接,导致错误。可是等等....

....您应该始终使用准备好的语句,这样您不必再担心查询中的引号了!

在第二个查询中,PHP 将在单引号中插入变量,因为整个查询被双引号包围。

Little Bobby您的脚本面临 SQL 注入攻击的风险。. 即使转义字符串也不安全!


推荐阅读