Spark Posté 3 Juin 2007 Partager Posté 3 Juin 2007 Bonjour, Je viens de faire un petit bout de code pour uniformiser les données de ma base de donné mais il ne fonction pas, et je ne comprend vraiment pas pourquoi, une idée ?? <?php$reponse = mysql_query("SELECT * FROM referencement"); while ($donnees = mysql_fetch_array($reponse) ) { set_time_limit(600); $titre=$donnees['titre']; if (preg_match("#VOST FR#", "$titre")) { $remplace = str_replace("VOST FR","VOSTFR", "$titre"); mysql_query("UPDATE referencement SET titre='$remplace' WHERE titre='$titre'"); // Ne fait rien echo $titre .'<BR>'; // affiche VOST FR dans les titre echo $remplace .'<BR>'; // affiche VOSTFR dans les titre } }mysql_close();echo "OK";?> Mes echo m'affiche bien ce qui est attendu, "VOST FR" est bien remplacé par "VOSTFR" dans mes titre, sauf que les champs ne sont pas mise à jour, why ??? Que ça soit VOST FR ou VOSTFR ce n'est pas important, mais pour le principe j'aimerais bien comprendre ! Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
petit-ourson Posté 3 Juin 2007 Partager Posté 3 Juin 2007 si tu exécutes ta requête directement dans la console MySQL, tu as quel résultat ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
iNCiTE Web Posté 4 Juin 2007 Partager Posté 4 Juin 2007 Oui il faut toujours prévoir le cas où les paramètres d'une requête ne soient pas ceux attendus. En ajoutant par exemple echo mysql_error() juste après ton mysql_query("UPDATE... En cas d'erreur pdt la période de dév, tu as tout de suite le message sous les yeux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
xpatval Posté 4 Juin 2007 Partager Posté 4 Juin 2007 <?php mysql_query("UPDATE referencement SET titre='$remplace' WHERE titre='$titre'"); // Ne fait rien Si ton update effectué directement (via phpmyadmin, par exemple) fonctionne, essaie en remplaçant ta requête par cela: mysql_query("UPDATE referencement SET titre='". $remplace ."' WHERE titre='". $titre ."'"); // Attention aux quotes... xpatval Lien vers le commentaire Partager sur d’autres sites More sharing options...
Spark Posté 4 Juin 2007 Auteur Partager Posté 4 Juin 2007 Bien vu le test directement dans la console MySQL, est fait avec un $titre=addslashes($titre); ça passe C'était à cause des apostrophes dans mets titres. Merci à vous Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant