我向数据库发布了一个新行,但希望使用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);
?>
答案 0 :(得分:8)
insert()
方法返回最后一个插入ID。
$insertId = $database->insert("properties", array(
// etc...
));
echo $insertId;
答案 1 :(得分:3)
接受的答案不再有效。
$database->insert()
仅返回true
或false
。
要获得上次自动递增的ID,您必须使用$database->id()
。
此代码取自官方文档:
$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
$account_id = $database->id();