Как получить последний вставленный идентификатор строки из базы данных WordPress?
мой плагин wordpress имеет таблицу с типа AUTO_INCREMENT поле первичного ключа с именем ID. Когда новая строка вставляется в таблицу, я хотел бы получить значение идентификатора вставки.
функция заключается в использовании AJAX для отправки данных на сервер для вставки в БД. Новый идентификатор строки возвращается в ответе AJAX для обновления состояния клиента. Возможно, что несколько клиентов одновременно отправляют данные на сервер. Итак, я должен убедиться, что каждый запрос AJAX получает точный новый идентификатор строки в ответ.
в PHP есть метод под названием mysql_insert_id для этой функции.Но он действителен для состояния гонки только в том случае, если аргумент link_identifier последней операции. Моя работа с базой данных на $wpdb. Как извлечь link_identifier от $wpdb, чтобы убедиться, что mysql_insert_id работать? Есть ли другой способ получить идентификатор последней вставленной строки $wpdb?
спасибо.
4 ответа:
сразу после
$wpdb->insert()
что делает вставка, сделайте это:$lastid = $wpdb->insert_id;
более подробную информацию о том, как делать вещи wordpress путь можно найти в Кодексе wordpress. Подробности выше были найдены здесь на страница класса wpdb
вот как я это сделал, в моем коде
... global $wpdb; $query = "INSERT INTO... VALUES(...)" ; $wpdb->query( $wpdb->prepare($query) ); return $wpdb->insert_id; ...