使用medoo获取最后一个自动增加的id

use*_*796 3 php

我向数据库发布了一个新行,但希望使用medoo在响应中返回新的自动增加的id.这似乎是生成一个新的空行并返回该id.

<?php

   // Independent configuration
  require 'medoo.php';
  $database = new medoo(array( 
  // required 
  'database_type' => 'mysql', 
  'database_name' => 'db', 
  'server' => 'server', 
  'username' => 'user', 
  'password' => 'pw' 

));

   $database->insert("properties", array(
"name" => $_POST['name'],
  "address" => $_POST['address'],
 "address2" => $_POST['address2'],
  "city" => $_POST['city'],
 "state" => $_POST['state'],
  "zip" => $_POST['zip'],
 "lat" => $_POST['lat'],
 "lng" => $_POST['lng'],
 "website" => $_POST['website']
));

$last_id = $database->insert("properties", array(
    "propertyId" => "propertyId"
));

$propertyId = array(propertyId => $last_id);

echo json_encode($propertyId);

?>
Run Code Online (Sandbox Code Playgroud)

Sam*_*amT 8

insert()方法返回最后一个插入ID.

$insertId = $database->insert("properties", array(
  // etc...
));

echo $insertId;
Run Code Online (Sandbox Code Playgroud)


And*_*hak 6

接受的答案不再有效。

$database->insert()仅返回truefalse。要获得最后一个自动递增的 id,您必须使用$database->id().

此代码取自官方文档:

$database->insert("account", [
    "user_name" => "foo",
    "email" => "foo@bar.com",
    "age" => 25
]);

$account_id = $database->id();
Run Code Online (Sandbox Code Playgroud)