为什么我将它粘贴到phpmyadmin时会有以下工作,但是如果我尝试使用php运行查询它不会?
$sql="BEGIN;
INSERT INTO nodes (admin_id,title)
VALUES (1,'test');
INSERT INTO themes (theme_id,directory)
VALUES (LAST_INSERT_ID(),'test');
COMMIT;";
$sql_result=mysql_query($sql);
这与LAST_INSERT_ID()有关......但我不知道是什么?!
答案 0 :(得分:2)
您无法在mysql_query内运行多个查询。所以你必须打破它
mysql_query('BEGIN');
mysql_query('INSERT INTO nodes (admin_id,title) VALUES (1,"test")');
$id = mysql_insert_id();
mysql_query('INSERT INTO themes (theme_id,directory) VALUES (' . $id . ', "test")');
mysql_query('COMMIT');
请注意链接中的红色框。所有这些功能都已弃用。
答案 1 :(得分:1)
正如其他人所提到的,PHP的基本MySQL API不支持单个语句中的多个查询。相对于以下函数,请尝试使用MySQLi: