La teoria è giusta:
dato un oggetto puoi serializzarlo con serialize e recuperarlo con unserialize
Codice PHP:
$obj= new Oggetto();
$sobj=serialize($obj);
//Posso mettere $sobj in un file, un DB in una variabile di sessione
//per utilizzi successivi
$obj=unserialize($sobj);
//Supposto in $sobj un oggetto serializzato proveniente da un file, un DB o una variabile
//di sessione posso riutilizzare $obj come oggetto
Diverso se all'interno del tuo oggetto vengono memorizzati degli handler ovvero dei puntatori arisorse quali file, connessioni db o altro. In tal caso, il puntatore a tali risorse viene conservato e ripristinato ma la risorsa non sarà più disponibile nelle chiamate successive, quindi il serialize non è sufficiente.
Per finire, l'esito di una serializzazione è una stringa e inquanto tale mi auguro che tu l'abbia sottoposta a escaping prima di passarla alla query.