我有一个问题,我想插入最后一个ID.字段ID是主键,并自动递增.

我知道我必须使用这句话:

LAST_INSERT_ID()

该语句使用如下查询:

$query = "INSERT INTO `cell-place` (ID) VALUES (LAST_INSERT_ID())";

但是如果我想用这个语句获取ID:

$ID = LAST_INSERT_ID();

我得到这个错误:

Fatal error: Call to undefined function LAST_INSERT_ID()

我做错了什么?

推荐答案

这是因为这是一个SQL函数,而不是PHP.你可以用PDO::lastInsertId().

比如:

$stmt = $db->prepare("...");
$stmt->execute();
$id = $db->lastInsertId();

如果您希望使用SQL而不是PDO API来执行此操作,则可以像普通的SELECT查询一样执行此操作:

$stmt = $db->query("SELECT LAST_INSERT_ID()");
$lastId = $stmt->fetchColumn();

Php相关问答推荐

打印SQL表内容时在DIV内添加断点

当我们使用PHPUnit时,控制台中的--uses param到底起了什么作用以及如何使用?

输入手写CSV时在PHP中进行日期判断

Woocommerce自定义变体html表仅显示带值的列

向在添加到购物车上动态创建的WooCommerce产品添加发货类别

如何使用php-amqplib连接到ActiveMQ Classic Docker镜像

Laveel Livewire Get Groupby姓名列表

如何在Foreach语句中使用php和li按降序排序?

Mod_重写子目录中相应的php文件

PHP测试字符串的所有POST值

将文件添加到存档,而不重建存档

如何从Laravel中的Spatie\Dns\Records\A对象中提取IP地址

如果所有请求都通过index.php路由,如何使用htaccess文件强制使用HTTPS?

htaccess 重定向子域错误的 url

如何限制 woocommerce 中相关产品的标题长度

由于 PHP 版本不受支持,如何终止 PHP 脚本?

如何在WooCommerce中为访客购买者分配自定义客户代码

仅允许减少 WooCommerce 中已完成订单的库存数量

如何在供应商名称后将自定义徽章添加到商品详情

按数字然后按字符串对关联 PHP 数组进行排序