php - SQL 中的 PHP 引号
问题描述
为什么这段代码会产生错误
$sql = "INSERT INTO accountlist VALUES (\"\", \"$user\", \"$pwd\", \"$mail\", \"$date\")";
而这个没有?
$sql = "INSERT INTO accountlist VALUES ('', '$user', '$pwd', '$mail', '$date')";
我知道双引号会处理变量,而单引号不会,所以第一个选项应该是正确的,但恰恰相反!
解决方案
因为在第一个你忘记连接,导致错误。可是等等....
....您应该始终使用准备好的语句,这样您就不必再担心查询中的引号了!
在第二个查询中,PHP 将在单引号中插入变量,因为整个查询被双引号包围。
Little Bobby说您的脚本面临 SQL 注入攻击的风险。. 即使转义字符串也不安全!
推荐阅读
- java - 存储后如何在JAVA中从char输出int
- python - 没有错误:但它没有索引人脸并且没有生成人脸ID
- delphi-2010 - 在 MS 访问中将 DBImage 连接到图像字段(OLE 对象)时出现“位图图像无效”错误消息
- python - 在远程服务器中读取 CSV 文件并使用 Python 将数据插入 Postgres
- dynamics-crm - 需要帮助创建汇总字段以在父记录上聚合子记录的毛利润值
- spacy - 有没有一种快速的方法来获取 spaCy 中每个句子的标记?
- c++ - 如果一个对象是在本地创建的并在 C++ 中作为异常抛出,那么本地对象如何在其范围之外有效。即在 catch 块中?
- swift - 如何在 Swift 中使用字典初始化结构
- python-3.x - 使用 .splitlines() 时如何删除特殊字符
- c# - 如何从视图中获取输入列表?