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:
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
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"; ?>
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(); //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)."') "); ?>
Le problème est que aucune de ces syntaxe ne fonctionne.....
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."') "); ?>
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
Partager