我无法使用以下 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/