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.