当前位置: 首页 > 面试题库 >

使用PHP,MySQLi和Prepared Statement,如何返回插入行的ID?

柴瀚昂
2023-03-14
问题内容

我想检索数据库中插入行的ID,但是我不知道该怎么做。

我尝试使用SQL子句返回RETURNING id,但不起作用。

插入一行后如何返回ID?


问题答案:

在上调用execute()方法后PreparedStatement,插入行的ID将位于insert_id属性中。只看它。

$pstm->execute();
$pstm->insert_id;


 类似资料:
  • 问题内容: 在过去的两天左右,我一直在将函数转换为mysqli。我遇到了一个问题。我有一个函数,该函数从数据库返回一个包含行的数组。但是,我希望数组包含多行而不是一行。另外,我将如何回显各个帖子。这是我失败的尝试,仅在阵列中显示一行。 在这里,我试图显示数据。 问题答案: 您必须使用循环来一次获取所有内容:

  • 问题内容: 我有一个PreparedStatement,例如: 如您所见,Employee表具有一个自动递增的ID。我基本上也需要使用prepareStatement自动添加它。有人可以告诉我我要去哪里哪里并纠正我吗?现在,这只是给我一个与Statement相关的错误。 问题答案: 将该列 完全 放在语句之外。它将由数据库引擎生成。您的查询应为: __ 其次,您必须先执行插入操作,然后再从结果中取

  • 问题内容: 我想使用PreparedStatement将行插入表中。该表有3列(int,String,String)。关键是int列是AUTO_INCREMENT,所以我想将该变量保留为空,然后让数据库完成该工作(这是一个id)。还没有找到如何做! 这是一个MySQL数据库。 问题答案: 这是相对简单的,只需从列列表中删除自动增量列即可: 准备该语句,设置两个参数,然后在非查询模式下执行。

  • 问题内容: 我想使用Java一次将多行插入MySQL表中。行数是动态的。过去我在做… for (String element : array) { myStatement.setString(1, element[0]); myStatement.setString(2, element[1]); } 我想对此进行优化,以使用MySQL支持的语法: INSERT INTO table (col1,

  • 我必须向MySQL数据库发送一个INSERT查询,假设所有变量都设置正确,我使用以下代码: 变量被正确设置为result,正如我在使用时看到的那样,但现在在数据库中插入了行。 奇怪的是,如果调用MySQL错误日志,可以清楚地看到insert被正确地发送到数据库,如下所示: 但它没有出现在表格中。 有什么建议吗?谢谢

  • 我正在努力将JSON对象插入我的postgres v9.4 DB。我已经将名为“evtjson”的列定义为类型json(而不是jsonb)。 我试图在Java(jdk1.8)中使用准备好的语句将Json对象(使用JEEjavax.json库构建)插入到列中,但我一直遇到SQLException错误。 我使用以下方法创建JSON对象: 然后,我将这个对象作为参数传递给另一个方法,以使用准备好的语句将