Bonjour a tous,

Mon problème est simple, j'ai un tableau que je sérialise pour le stocké dans une BDD.

la chaine du tableau sérialisé doit être échapper pour pouvoir passer dans la requête...
Pour cela, je veux utilisé PDO::quote.

l'exemple de la doc:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');
 
/* Chaîne complexe */
$string = "Co'mpl''exe \"ch'\"aîne";
print "Chaîne non protégée : $string\n";
print "Chaîne protégée : " . $conn->quote($string) . "\n";
?>
Donc, d'après cette exemple, j'ai essayé deux structure:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<?php
                $tabSerialise=serialize($this->tabCoupJouer);
 
		$pdo=gest_pdo(); //retourne un objet PDO
 
		$pdo->exec("INSERT INTO historique_jeu (id,joueur1,joueur2,resultat,jeu) VALUES ('".$this->autoIncrement()."','".$this->nomJoueur1."','".$this->nomJoueur2."','".$resultat."','".$pdo->quote($tabSerialise)."') ");
?>
et le second

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<?php
                $tabSerialise=serialize($this->tabCoupJouer);
 
		$pdo=gest_pdo(); // retourn un objet PDO
                $tabSerialise=$pdo->quote($tabSerialise);
		$pdo->exec("INSERT INTO historique_jeu (id,joueur1,joueur2,resultat,jeu) VALUES ('".$this->autoIncrement()."','".$this->nomJoueur1."','".$this->nomJoueur2."','".$resultat."','".$tabSerialise."') ");
?>
Le problème est que aucune de ces syntaxe ne fonctionne.....
la requête fonctionne bien si je remplace $tabSerialise par une string standard type "test".

Pouvez vous me dire comment faire ?

Je vous remercie d'avance pour votre aide