Eviter une erreur sql...

Signaler
Messages postés
29
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
18 mars 2008
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Hello,

J'ai fait un petit forum et une fois de temps en temps, lorsque quelqu'un ajoute un message, il ne l'enregistre pas! Donc, je me demandais si ce bout de code était correct et pouvait résoudre le problème...




$error = false;
$sql = ".......";
mysql_query($sql) or die ($error = true);
while ($error)
{
$error = false;
mysql_query($sql) or die ($error = true);
}

Avec éventuellement un compteur dans la boucle pour éviter que ça bloque toute la page si ça tourne en boucle...

Merci de vos réponses...

PS: Si j'avais su tester, j'aurais sans doute pas posé la question mais c'est assez dur de faire en sorte que la requete rate 1 fois sur 2...

5 réponses

Messages postés
54
Date d'inscription
vendredi 28 février 2003
Statut
Membre
Dernière intervention
10 novembre 2006

je te conseille de lire [url]http://php.net/die/url deja pour commence ;)
apres le probleme de ton code c'esr que si la requete foire c'est surement qu'elle est foireeuse et non pas que le serveur n'effectue pas ta requete.
Messages postés
29
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
18 mars 2008

Autant pour moi...
Mais bon, pour ce qui est de ma requete, elle fonctionne puisque ça arrive environ 1 fois sur 30... style lorsque le message comporte trop de smiley... A moins que ça vienne des apostrophes ou des guillemets?
Mais bon, il y a des messages avec qui passent...
Donc, en gros, pourquoi parfois ça passe, parfois ça passe pas?
C'est pour ça que je cherchais un moyen d'être sur que la requete à eu lieu... J'ai vu comment faire si c'est une requete SELECT mais je sais pas comment avec un UPDATE ou un INSERT...
Si vous savez m'aider... Merci bien
Messages postés
29
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
18 mars 2008

J'ai rien dit...
J'ai trouvé comment faire!
Enfin, merci de m'avoir corrigé pour le die !!!
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
6
c dommage pour le die, t pas loin ;)

$error = false;
$sql = ".......";
if (! mysql_query($sql))
    $error = true;
while ($error)
{
$error = false;

if (! mysql_query($sql))

    $error = true;

}
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

fais plutôt un truc comme ça :

do
{
    $var = mysql_query('Requete);
}
while($var === FALSE)

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>