0

我需要使用 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)、firstname、lastname。而且我还需要最后更新的行。上面的代码不起作用。请帮忙

4

2 回答 2

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。

问候

于 2017-02-22T18:25:37.297 回答
0

只需使用以下 mysql 查询:

select last_insert_id();

它会返回最后一个inserted_id。将其放入带有插入查询的事务中以使其安全。

于 2016-02-25T13:19:36.287 回答