php - PHP 和 MySQL 中的 INSERT 查询语法错误

标签 php mysql

我无法使用以下 PHP 语法在 myTable MySQL 表中插入 ID 和名称。 id为整型字段,name为varchar字段。

$query="INSERT INTO myTable (id, name) VALUES (".$_SESSION["id"].", ".$_SESSION["name"].");";

上面的语法有问题吗?根据我的看法,这是正确的,因为如果插入硬编码值,则可以很好地插入这些值。

最佳答案

是的,您需要为名称使用单引号

$query="INSERT INTO myTable (id, name) VALUES (" . $_SESSION["id"] . ", '" . $_SESSION["name"]."');";

此外,请尽量不要使用字符串连接/替换手动构造查询。如果您的 $_SESSION(以某种方式)包含可以完全操纵查询的内容,则可能很危险。

阅读有关 SQL 注入(inject)的信息,以及 what PHP offers.

关于php - PHP 和 MySQL 中的 INSERT 查询语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20015860/

相关文章:

php - 在 PHP 中组合 sql 查询

php - '/var/spool/cron' 不是目录,正在退出。尝试通过 PHP 的 shell_exec 使用 crontab 时

php - 在android中使用php将图像上传到mySQL服务器

php - Slim .htaccess 静态文件问题

mysql - 如何使用其他数据库中的表进行 "through"kohana ORM?

javascript - 如何从数据库中选择一堆行,如果数据不存在,则在数据库中创建行,然后在JS中选择?

javascript - 使用 jwplayer 进行动态 rtmp 流传输

java - 无法从 JSONObject 检索值

c# - 我可以在 "Using" block 中进行异常处理吗?

mysql - 使 where 子句中同一个表中的同一列相等