I need to get the id(AUTO-INCREMENTED) of latest inserted record in a table. I am using fat-free-framework.

I tried to get the latest id by using

$id = mysql_insert_id();

but it gave me this error

Access denied for user 'root'@'localhost' (using password: NO)

I am accessing database using fat-free-framework and not using traditional php functions. Can any one guide me how to accomplish this ?

有帮助吗?

解决方案

Try this code after record inserted

$id = $db->lastInsertId();

其他提示

Beside kumar_v's answer, F3 will automatically populate $db->_id after a successfull insert.

Note that if you have used the SQL Mapper to create the row in your table, you can just do

$object->id;

Example (using a table containing quotes):

$quote = new DB\SQL\Mapper($db, 'quotes');
if($_POST){
    //overwrite with values just submitted
    $quote->copyFrom('POST');
    $quote->save();
    die("new quote added with id:".$quote->id);
}
$quote = new DB\SQL\Mapper($db, 'quotes');
$quote->get('_id');

which '_id' is the id auto increment id field of your table, replace '_id' with yours you can read the docs : https://fatfreeframework.com/3.6/sql-mapper#get

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top