我需要使用NotORM
输入最后一行$res=array("firstname"=>"fname","lastname"=>"lname");
$result = $db->Product()->insert($res);
$row=$db->product()->where('ProductId',$result['id'])->fetch();
echo json_encode($row);
输出:false
数据库列是id(auto_increment),firstname,lastname。而且我还需要上次更新的行。 上面的代码不起作用。请帮忙
答案 0 :(得分:1)
要插入最后一个ID,您需要执行此操作
$res=array("firstname"=>"fname","lastname"=>"lname");
$result = $db->Product()->insert($res);
echo $result["id"];
警告与数据库中的密钥名称无关,您使用$ result [“id”]来获取值。
就像你获得插入的最后一个id
到目前为止,我可以在你的例子中看到你使用它很好。我不知道这是否有影响,但在你的代码第二次你把“product()”改为“Product()”时你也应该检查“ProductId”是否输入正确
我认为另一件事是,如果返回false是因为json_encode返回false表示notorm返回false是不一样的,请在编码之前先尝试打印$ row。
问候
答案 1 :(得分:0)
只需使用以下mysql查询:
select last_insert_id();
它会返回最后一个inserted_id。将它放在带有插入查询的事务中以使其安全。