2012-05-30 3 views
0

J'ai une requête SQL qui est censé exploser chaîne ombles de: "toto, tata, titi" à un tableau ("toto", "tata", "titi"):demande Php sql donnant 0 résultat

$q = $connexion->db->prepare("UPDATE thesaurus_fr SET synonymes_mots = CONCAT(synonymes_mots, ', ', :synonymes_racine) WHERE synonymes_racine = :synonymes_courant"); 
$syns=explode(",",$_POST['synsList']); 
$syns=array_unique($syns); 
foreach ($syns as $syn) { 
$q->bindValue(":synonymes_racine", $_POST['word']); 
$q->bindValue(":synonymes_courant", $syn); 
$q->execute(); 

} 

À l'heure actuelle chaque partie de la demande semble fonctionner. Ça ne plante pas mais je n'obtiens aucun résultat, qu'est-ce que je fais de mal? Merci pour votre aide

+0

Que voulez-vous dire en donnant 0 résultat? La mise à jour ne fonctionne pas? – xdazz

+1

Puisque votre SQL est un 'UPDATE' et que vous exécutez plain execute(), vous ne récupérerez aucune ligne. Vous pouvez vérifier l'exécution réussie sinon. – dezso

+1

Quel genre de résultat vous attendez-vous? La valeur de retour de 'execute()' est un 'boolean' indiquant si la requête a réussi ou non. – Config

Répondre

1

Vérifiez la taille des colonnes de la table. Le résultat de la concaténation peut être trop long.

Quoi qu'il en soit, vous devriez obtenir l'erreur après chaque execute en utilisant print_r($connexion->db->errorInfo());

http://www.php.net/manual/es/pdo.errorinfo.php

+0

merci pour le lien – WizLiz

Questions connexes