我需要使用一个按钮将数据插入到同一个数据库中的两个不同的表中,但无法确定如何使用。
我的两个插入命令如下所示:
$insertSQL1 = sprintf("INSERT INTO table2...blah blah blah..."); // this is a whole load of info from the form
$insertSQL2 = ('INSERT INTO table2...blah blah blah...'); // this is some more data, including an array
我已尝试将它们置于“BEGIN WORK ... COMMIT WORK”功能中,如下所示:
$insertSQL = "BEGIN WORK;
".$insertSQL1.";
".$insertSQL2.";
COMMIT WORK;";
...但我总是得到以下错误:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'INSERT INTO ...'附近使用正确的语法
我不能为我的生活找出实际的语法错误。有关更好的方法的任何建议吗?
答案 0 :(得分:1)
使用无法在一次调用中执行多个查询(使用普通查询调用)。使用此语法
insert into table2 (col1, col2, col3)
values (1, 2, 3),
(4, 5, 6)
使用一个查询插入多个记录。
答案 1 :(得分:0)
您必须使用两个插入函数:
$query1 = "INSERT INTO table1 (col1, col2) values (1,2)";
$query2 = "INSERT INTO table2 (col1, col2) values (1,2)";
mysql_query($query1);
mysql_query($query2);
为了简单起见,我使用了mysql_query,当然你必须使用自己的数据库函数。它仍然可以通过一次单击完成,但您需要使用2个SQL语句。就这样做:
if ($clicked==true){
//insert queries
}