Мне нужна последняя вставленная строка с использованием 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), имя, фамилия. А также мне нужен последний обновленный ряд.
приведенный выше код не работает. пожалуйста помоги
Чтобы вставить последний идентификатор, вам нужно сделать это
$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, прежде чем кодировать его.
С уважением
Просто используйте следующий запрос MySQL:
select last_insert_id();
Возвращает последний вставленный идентификатор. Поместите это в транзакцию с запросом вставки, чтобы сделать его безопасным.