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

时间:2013-09-25 00:45:56

标签: 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);

?>

2 个答案:

答案 0 :(得分:8)

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

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

echo $insertId;

答案 1 :(得分:3)

接受的答案不再有效。

$database->insert()仅返回truefalse。 要获得上次自动递增的ID,您必须使用$database->id()

此代码取自官方文档:

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

$account_id = $database->id();