我正在构建一个简单的cms,我正在尝试在用户注册时自动在数据库中创建一个额外的cms。代码工作正常,第一个插入行,但是一旦我添加了第二个,它就停止了工作。我从StackOverflow得到了这个代码结构,我看了其他网站,它似乎是正确的,但对于我的生活,我无法弄清楚什么是错的。有什么建议吗?
$registerquery = mysql_query("BEGIN
INSERT INTO users (Username, Password, EmailAddress)
VALUES ('".$username."', '".$password."', '".$email."')
INSERT INTO pages (page_title, page_owner)
VALUES ('My New Page', LAST_INSERT_ID())
COMMIT");
答案 0 :(得分:3)
您不能在使用PHP中的MySQL驱动程序的单个query()调用中发出两个查询。这是针对某些形式的SQL injection攻击的安全措施 - 您的代码容易受到攻击(除非您之前正在执行mysql_real_escape_string()或类似攻击)。
您还缺少;
来分隔两个查询。
多查询语法
query1; query2; query3; etc...
你基本上得到了
query1 query2
这只是一个语法错误。