Domanda

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 ?

È stato utile?

Soluzione

Try this code after record inserted

$id = $db->lastInsertId();

Altri suggerimenti

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top