INSERT ou UPDATE : Mysql

WRInaute accro
Bonsoir,

Je me demande comment on peut savoir si une requete d'insertion ou de modification c'est bien effectué ou pas !?

En effet pour une requete de selection je fais le code suivant:
Code:
if(mysql_num_rows($result_rq) > 0)
{ ... }

Quand est-il pour les requêtes d'insertion ou de modification ?

Je ne pense pour qu'il faille faire d'abord une requête de selection pour vérifier si ce que l'on veut modifier existe et après uniquement faire la modification. De plus cela ne fonctionnerai pas dans le cas d'une nouvelle insertion.

Merci de votre aide.
 
WRInaute discret
Il suffit de faire un echo ou un die si le mysql_query renvoie une erreur. Comme ça tu sais si ta requête est passée. :)
Code:
$req="INSERT...";
mysql_query($req, $cnx) or die("Erreur lors de l'éxécution de la requête");
 
WRInaute impliqué
forummp3 a dit:
le " or die(message); " est le mieux, je pense

Quand je vois ce genre de code dans un script, c'est poubelle direct.

Il faut apprendre à gérer les erreurs dans une application car une erreur fait aussi partie du fonctionnement normal de celle ci.

Le bon code est donc :
Code:
if( ! mysql_query( $sql ) ) { 
/* Faire quelque chose en cas d'erreur notament logguer la requête SQL, les différentes variables etc .. et bien sûr traiter l'erreur pour que le visiteur sache ce qu'il se passe */
}
else {
// Processus normal
}
 
WRInaute passionné
shrom a dit:
forummp3 a dit:
le " or die(message); " est le mieux, je pense

Quand je vois ce genre de code dans un script, c'est poubelle direct.

Il faut apprendre à gérer les erreurs dans une application car une erreur fait aussi partie du fonctionnement normal de celle ci.

Le bon code est donc :
Code:
if( ! mysql_query( $sql ) ) { 
/* Faire quelque chose en cas d'erreur notament logguer la requête SQL, les différentes variables etc .. et bien sûr traiter l'erreur pour que le visiteur sache ce qu'il se passe */
}
else {
// Processus normal
}
ben tu dois en mettre beaucoup a la poubelles des scripts :lol:
je ne vois pas en quoi c'est crade de ne pas loguer l'erreur ? Suffit d'afficher l'erreur, ensuite tu debuge selon le message et l'url de la page demandé que l'utilisateur t'aura donné. Enfin, ca depend du script, si tu developent un forum, il y aura des utilisateurs pour te signaler un bug, sinon il est vrai que dans certaines application ca serait bien de loguer les requetes eronnés.
 
WRInaute accro
shrom a dit:
Code:
if( ! mysql_query( $sql ) ) { 
/* Faire quelque chose en cas d'erreur notament logguer la requête SQL, les différentes variables etc .. et bien sûr traiter l'erreur pour que le visiteur sache ce qu'il se passe */
}
else {
// Processus normal
}

c'est ce que je faisait ! héhé ! merci ! :wink:
 
WRInaute passionné
forummp3 a dit:
je ne vois pas en quoi c'est crade de ne pas loguer l'erreur ?

shrom ne parle pas de loguer une erreur mais de gérer une erreur.
Si tu ne comprend pas pourquoi il faut gérer les erreurs, c'est dommage pour toi.
 
WRInaute discret
le mieux ca reste quand même :
mysql_query("insert ....") or die(mysql_error());

ca ne t'affiche rien si ta requete a marché,
ca t'affiche l'erreur lorsque ta requete n'est pas bonne
 
WRInaute passionné
Euh il me semble qu'on peut aussi faire un mix des deux :
Code:
if(mysql_query($sql))
{
echo "Ok bonhomme";
}
else
{
echo "<p>Ah pas de chance bonhomme, c'est pas passé dans la moulinette à octets Voici l'erreur générée piim bouum paff :</p>";
mysql_error();
}
 
WRInaute impliqué
atomikado a dit:
le mieux ca reste quand même :
mysql_query("insert ....") or die(mysql_error());

ca ne t'affiche rien si ta requete a marché,
ca t'affiche l'erreur lorsque ta requete n'est pas bonne

Ca l'affiche aussi au visiteur, tu crois qu'il pense quoi de ton site lorsqu'il voit ça ?

Apprenez un peu à programmer les gars.
 
WRInaute impliqué
forummp3 a dit:
je ne vois pas en quoi c'est crade de ne pas loguer l'erreur ? Suffit d'afficher l'erreur, ensuite tu debuge selon le message et l'url de la page demandé que l'utilisateur t'aura donné.

Et bien, quand ton site est en production, il faut bien que tu saches d'une part qu'une erreur a été générée et d'autre part ce qui a générer l'erreur.

Tu crois que ton visiteur va penser quoi si il a un beau message d'erreur incompréhensible lorsqu'il effectue une action.

Quand tu navigue sur le net, t'aime bien que ton navigateur te dise qu'il n'a pas pu joindre un site plutôt que de t'afficher un message abscond en anglais de préférence.
 
Discussions similaires
Haut