0

我正在构建一个简单的 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");
4

1 回答 1

3

您不能使用 PHP 中的 MySQL 驱动程序在单个 query() 调用中发出两个查询。这是针对某些形式的SQL 注入攻击的安全措施- 您的代码容易受到攻击(除非您正在执行 mysql_real_escape_string() 或类似的操作)。

您还缺少 a;来分隔两个查询。

多查询语法是

query1; query2; query3; etc...

你基本上有

query1 query2

这只是一个语法错误。

于 2012-07-17T18:01:12.683 回答