I would like to get the last insert id... anyone has some experience inYes. You have a PEAR DB object $db, and you do:
using the PEAR::DB_Common::nextId() ?
$id = $db->nextID('Documents'); $db->query("INSERT INTO Documents (id,title,text) VALUES ($id,'Title','Text')");
The confusing thing about this is the fact that "Documents" in the two lines don't necessarily have anything to do with each other. The first is the name of a sequence, the other is the name of a table. They're just both called 'Documents'. What happens, and I believe this isn't described in the documentation, is that PEAR DB stores the current ID of the Documents sequence in a separate table called Documents_seq:
mysql> select * from Documents_seq; +-----+ | id | +-----+ | 200 | +-----+
So it's a completely different mechanism than using mysql_insert_id().
In fact, it might be a better idea to have just one sequence and generate IDs for all tables from that:
$id = $db->nextID('Sequence'); $db->query("INSERT INTO Documents (id,title,text) VALUES ($id,'Title','Text')"); $id = $db->nextID('Sequence'); $db->query("INSERT INTO Users (id,username...) VALUES ($id,$username...)");
any suggestion would be very much appreciated.
alessandro
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php