Последняя вставленная и обновленная строка в MySQL с использованием NotORM

Мне нужна последняя вставленная строка с использованием NotORM

$res=array("firstname"=>"fname","lastname"=>"lname");
$result = $db->Product()->insert($res);
$row=$db->product()->where('ProductId',$result['id'])->fetch();
echo json_encode($row);

вывод: ложь

столбцы базы данных: id (auto_increment), имя, фамилия. А также мне нужен последний обновленный ряд.
приведенный выше код не работает. пожалуйста помоги

0

Решение

Чтобы вставить последний идентификатор, вам нужно сделать это

$res=array("firstname"=>"fname","lastname"=>"lname");
$result = $db->Product()->insert($res);
echo $result["id"];

Предупреждение независимо от имени вашего ключа в вашей базе данных, вы используете $ result [«id»] для получения значения.

Например, вы получаете последний вставленный идентификатор

Насколько я вижу, в вашем примере все в порядке, вы используете его. Я не знаю, влияет ли это, но в вашем коде второй раз, когда вы помещаете «product ()» вместо «Product ()», также вы должны проверить, правильно ли введен «ProductId»

Еще одна вещь, которую я думаю, если это возвращение false, потому что json_encode возвращает false, что это не то же самое, что сказать, что notorm возвращает false, попробуйте сначала напечатать $ row, прежде чем кодировать его.

С уважением

1

Другие решения

Просто используйте следующий запрос MySQL:

select last_insert_id();

Возвращает последний вставленный идентификатор. Поместите это в транзакцию с запросом вставки, чтобы сделать его безопасным.

0

По вопросам рекламы [email protected]