嗨,我有两个表需要插入。
问题是第一个表有一个自动生成的ID字段,我在第二个查询
中需要这个字段成员(表1):
| | id名称| eyeColour |
assigndmembers(表2):
| | id memberID | groupID |
我目前正在使用以下内容:
$addMember = $dbHandle->prepare("INSERT INTO members(name,date) VALUES(?,?)");
$addMember->bind_param("ss",$name,$eyeColour);
$addMember->execute();
$getID = $dbHandle->("SELECT id from members where name = ? LIMIT 1");
$getID->bind_param("s",$name);
$getID->execute();
$getID->bind_param($MID);
$assignMember= $dbHandle->prepare("INSERT INTO assignedMembers memberID,groupID) VALUES(?,4)");
$assignMember->bind_param("i",$MID);
$assignMember->execute();
在$assignMember->bind_param();排除故障后,我注意到$MID变量为空。
似乎从第一个INSERT的行不添加之前的下一个语句的执行是否有一种方法来强制这一点?
感谢您花时间阅读这篇文章,任何帮助都将非常感谢
mysqli:$insert_id是你正在寻找的。
$addMember = $dbHandle->prepare("INSERT INTO members(name,date) VALUES(?,?)");
$addMember->bind_param("ss",$name,$eyeColour);
$addMember->execute();
$id = $dbHandle->insert_id;
我觉得你应该用
$getID->bind_result($MID);
$getID->fetch();
不是$getID->bind_param($MID);
由于使用'…->bind_param'我假设,你使用MySQLi。查看:mysqli_insert_id -获取上次查询中生成的ID