4

我正在向数据库发布一个新行,但想使用 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);

?>
4

2 回答 2

9

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

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

echo $insertId;
于 2013-09-25T00:48:26.383 回答
6

接受的答案不再有效。

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

此代码取自官方文档:

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

$account_id = $database->id();
于 2017-04-11T22:01:03.370 回答