Joomla.it Forum
Non solo Joomla... => Sviluppo => : james81 15 Apr 2010, 10:37:46
-
Ciao a tutti,
ho un problema con una select:
ho bisogno di ricavare il campo ID dell'ultimo record inserito, purtroppo i record inseriti all'interno del db non sono in ordine.
pensavo di utilizzare una cosa del genere ma non va'
$query = "SELECT id FROM #__tabella WHERE id='SELECT MAX(id) FROM #__tabella' ";
$database->setQuery($query);
$database->loadObject($records)
$ridx = $records->id;
-
c'č un metodo apposta nel fwork... comunque con mysql esiste il last insert id
M.
-
ho capito, ma come dovrei impostare allora la query?
-
$query = "SELECT id FROM #__tabella WHERE id='SELECT MAX(id) FROM #__tabella' ";
;D ;D ;D
non ti arrabbiare, ma che hai scritto? al pių:
$query = "SELECT MAX(id) AS last_id FROM #__tabella' ";
$database->setQuery($query);
$records = $database->loadObject()
$ridx = $records->last_id;
ma meglio:
$query = "SELECT MAX(id) AS last_id FROM #__tabella' ";
$database->setQuery($query);
$ridx = $database->loadResult();
(btw: l'alias č lasciato per chiarezza)
ciao,
marco
-
gracies!...ho provato ma non mi estrae nulla, la variabile $ridx rimane sempre vuota
-
attiva il debug in modo che ti segnali eventuali errori nel sql.
nota che ho dato per scontato che $database fosse un'istanza della classe JDatabase, e che fosse correttamente istanziata.
ciao.
-
si si la query che ho postato e' quella che utilizzo allínterno dello stesso script per scrivere e prelevare dati dal db
-
abilitato, mi restituisce questo:
500 - Si č verificato un errore.
JDatabaseMySQL::query: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1 SQL=SELECT MAX(obj_id) AS last_id FROM jos54_tabella'
era una ' in piu
-
il tipo di errore indica l'uso di una reserved word come valore nella query. visto cosė sembra a posto; prova a controllare il sorgente dell'html per eventuali caratteri soppressi e verifica con attenzione il sorgente php.
ciao