Eviter une erreur sql...

cs_b4d Messages postés 29 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 18 mars 2008 - 20 août 2006 à 00:07
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 21 août 2006 à 13:26
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

cs_alexscott Messages postés 54 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 10 novembre 2006
20 août 2006 à 00:14
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.
0
cs_b4d Messages postés 29 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 18 mars 2008
20 août 2006 à 01:30
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
0
cs_b4d Messages postés 29 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 18 mars 2008
20 août 2006 à 02:44
J'ai rien dit...
J'ai trouvé comment faire!
Enfin, merci de m'avoir corrigé pour le die !!!
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
20 août 2006 à 14:51
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;

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
21 août 2006 à 13:26
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>
0
Rejoignez-nous