我想在同一个查询中插入多个表,并使用 table2 从 table1 检索 id
这是我的sql代码
$q = "
INSERT INTO Product (pName, pBrand, pCategory, pSize, pQuantity, pPrice, pDetail)
VALUES('$name', '$brand', '$category', '$size', '$quantity', '$price', '$detail');
INSERT INTO Image (iName, iExt, iSize, pID)
VALUES('$img_name', '$img_ext', '$img_size', LAST_INSERT_ID());";
$mysqli->query($q);
它显示语法错误。 但我将 $q 的输出复制到 phpMyAdmin 的 SQL 查询中运行,它起作用了。 你能指出我的错误在哪里吗?
INSERT INTO Product (pName, pBrand, pCategory, pSize, pQuantity, pPrice, pDetail)
VALUES(....); #1 row affected
INSERT INTO Image (iName, iExt, iSize, pID)
VALUES(....); #1 row affected
最佳答案
我不相信您可以通过单个查询调用运行多个语句;您需要改为调用mysqli_multi_query
:
关于php - MySQL:LAST_INSERT_ID() 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12650022/