Spark Posté 3 Juin 2007 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
petit-ourson Posté 3 Juin 2007 Posté 3 Juin 2007 si tu exécutes ta requête directement dans la console MySQL, tu as quel résultat ?
iNCiTE Web Posté 4 Juin 2007 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.
xpatval Posté 4 Juin 2007 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
Spark Posté 4 Juin 2007 Auteur 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant