Ciao, volevo solo dire che sono finalmente riuscito a farlo funzionare e, nel caso possa essere utile a qualcuno, ecco la mia soluzione:
Praticamente uso bind_result() seguito da fetch() :-)Codice PHP:public function nextID($aTable)
{
if(!$this->isOpen())
return null;
//Create a prepared statement
if(!($aStatement = $this->mConnection->prepare("select nextval(?) as nextid")))
throw new \Exception("Could not prepare statement!");
if(!$aStatement->bind_param("s", $aTable))
throw new \Exception("Could not bind parameter with value " . $aTable . "!");
//Execute statement
if(!$aStatement->execute())
throw new \Exception("Could not select new ID!");
//Return results
if($aStatement->bind_result($aNewID) == false)
return null;
$aStatement->fetch();
return $aNewID;
}
In ogni caso si, la funzione simula una sequenza. Non so quali funzionalità mettano a disposizione le sequenze (o l'analogo) di mysql, ma qualcosa di simile l'ho usata per Oracle e le trovo molto flessibili. Ho pensato che fosse un modo buono quanto un altro per investigare meglio mysqli :-)
Grazie ancora per l'aiuto!

Rispondi quotando