执行2个mysql查询,第二个基于第一个

natcon93

嗨,我有两个表需要插入。

问题是,第一个表具有自动生成的ID字段,第二个查询中需要此字段

成员(表1):

| id |名称| eyeColour |

AssignedMembers(表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的行,是否有办法强制执行此操作?

感谢您抽出宝贵的时间阅读这篇文章,任何帮助将不胜感激

塔努尔·马特吉(Tanuel Mategi)

mysqli:$ insert_id是您要寻找的。

$addMember = $dbHandle->prepare("INSERT INTO members(name,date)     VALUES(?,?)");
$addMember->bind_param("ss",$name,$eyeColour);
$addMember->execute();

$id = $dbHandle->insert_id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使第一个查询的结果成为第二个的NOT IN部分

基于第一个参数类型的TypeScript第二个参数类型

第二个同时执行的“ for循环”执行中断了第一个

如何基于第一个查询运行第二个查询?

与第一个请求一样,在2秒内执行第二个请求

基于Oracle SQL中第一个查询的结果的第二个查询中的UNION表

如果第一个查询在mysql和php中为空,如何执行第二个查询?

使用mysqli查询显示第二个查询,同时仍显示第一个查询

一个查询中有两个MySQL查询,第二个查询基于第一个查询

合并两个数组,第一个基于值,第二个基于键-php

第一个执行后如何调用第二个函数?

查询第二个表的第一个值

在第二个查询的值中使用第一个查询的值

从第一个域的mysql查询并插入第二个域

从数组Foreach mysql查询,然后从第一个数组查询第二个查询

用第一个构造函数执行第二个构造函数

SQL第二个INSERT查询,其ID为第一个

在mysql查询中将第二个字段与第一个字段连接

使用第一个查询的结果作为第二个查询的参数嵌入MS SQL查询

2 setTimeout函数第一个清除第二个javascript

在第一个查询中获取第二个查询作为字段

执行第二个函数,基于第一个函数的结果

嵌套 for 循环,第二个 for 循环基于第一个的长度

Codeigniter 基于第一个 DB 连接到第二个 DB

2个表的SQL查询如何填充第一个到第二个表的字段

Django 在返回第一个请求之前执行第二个请求

使用第一个查询获取每个线程的第一个值并使用该值执行第二个查询

第二个查询中使用的第一个查询的 PostgreSQL 结果

如果第一个查询什么都不返回,如何执行第二个查询?