我的WordPress插件有一个表,它有一个名为ID的AUTO_INCREMENT主键字段。当一个新行插入到表中时,我希望获得插入的ID值。
其功能是使用AJAX将数据发布到服务器以插入到数据库中。在AJAX响应中返回新行ID以更新客户端状态。可能有多个客户端同时向服务器发送数据。因此,我必须确保每个AJAX请求都得到准确的新行ID作为响应。
在PHP中,有一个名为mysql_insert_id的方法用于这个操作,只有当参数是最后一次操作的link_identifier时,它才对feature.But条件有效。我的数据库操作是在$wpdb上进行的。如何从$wpdb中提取link_identifier以确保mysql_insert_id正常工作?有没有其他方法可以从$wpdb获取最后插入的行id?
谢谢。
发布于 2009-10-16 02:04:00
紧跟在执行插入的$wpdb->insert()
之后,执行以下操作:
$lastid = $wpdb->insert_id;
有关如何使用WordPress方法的更多信息,可以在WordPress codex中找到。上面的详细信息可以在wpdb class page上找到
发布于 2014-02-12 01:53:43
在我的代码中,我就是这样做的
...
global $wpdb;
$query = "INSERT INTO... VALUES(...)" ;
$wpdb->query(
$wpdb->prepare($query)
);
return $wpdb->insert_id;
...
发布于 2020-03-05 22:40:41
我需要在插入后获取最后一个id,所以
$lastid = $wpdb->insert_id;
不是一种选择。
执行了以下操作:
global $wpdb;
$id = $wpdb->get_var( 'SELECT id FROM ' . $wpdb->prefix . 'table' . ' ORDER BY id DESC LIMIT 1');
https://stackoverflow.com/questions/1576018
复制相似问题