comment obtenir le dernier Id inséré d'une base de données Sqlite en utilisant Zend_Db
Je suis en train de chercher de la dernière ligne insérée Id de Sqlite DB dans mon application PHP. Je suis à l'aide de Zend Framework PDO Sqlite adaptateur pour la manipulation de la base de données. le lastInsertId() la méthode est censé me donner les résultats, mais il ne serait pas. En AOP de la documentation en php.net j'ai lu que la lastInsertId() peut ne pas fonctionner de la même manière sur toutes les bases de données. mais ne serait-il pas de travail sur sqlite?
J'ai essayé d'écraser le lastInsertId() la méthode de la carte par ceci:
//Zend_Db_Adapter_Pdo_Sqlite
public function lastInsertId() {
$result = $this->_connection->query('SELECT last_insert_rowid()')->fetch();
return $result[0];
}
mais il ne fonctionne pas non plus. retourne 0 à chaque fois que je l'appelle. est-il spécial propre façon de trouver le dernier Id inséré?
OriginalL'auteur farzad | 2009-02-03
Vous devez vous connecter pour publier un commentaire.
Donné une Base de données SQLite3 avec une table
b
, comme suit:Ce code me donne un
lastInsertId
:Qu'est - si votre table est définie correctement, votre seul problème est probablement que vous avez essayé de lecture de la clé $result[0] - aussi, à chaque fois que vous utilisez une colonne calculée, je vous recommande de repliement de la colonne à l'aide de la "en tant QUE" mot-clé comme je l'ai démontré ci-dessus. Si vous ne voulez pas faire un alias de la colonne, dans SQLite3 la colonne doit être nommé "last_insert_rowid()".
Quoi, pas de crédit pour la réponse? 😉
ouais, bien sûr. merci. 😉
OriginalL'auteur TML
PDO::lastInserId()
voir: http://us2.php.net/manual/en/pdo.lastinsertid.php
OriginalL'auteur user570307
Ne pas utiliser
au lieu d'utiliser
ou
OriginalL'auteur 789789789
OriginalL'auteur Red
Hey, essayez cette requête. Mais je ne sais pas à propos de PHP.
OriginalL'auteur