INSERT ou UPDATE : Mysql

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

INSERT ou UPDATE : Mysql

Message le Mer Déc 21, 2005 20:12

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: Tout sélectionner
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.

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mer Déc 21, 2005 20:16

J'ai trouvé cela: mysql_affected_rows()
Possible ?


Gaëtan R.
WRInaute impliqué
WRInaute impliqué
 
Messages: 311
Inscription: Lun Avr 26, 2004 16:24

Message le Mer Déc 21, 2005 20:45

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: Tout sélectionner
$req="INSERT...";
mysql_query($req, $cnx) or die("Erreur lors de l'éxécution de la requête");

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mer Déc 21, 2005 20:48

donc cela permet de vérifier dès lors ou l'ou fait une requete UPDATE que celle-ci à bien eu lieu....?


Gaëtan R.
WRInaute impliqué
WRInaute impliqué
 
Messages: 311
Inscription: Lun Avr 26, 2004 16:24

Message le Mer Déc 21, 2005 20:53

Ben s'il n'y a pas eu de messages d'erreur, la requête est passée. :)

r23o
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 211
Inscription: Dim Juil 13, 2003 16:46

Message le Jeu Déc 22, 2005 1:55

Moi j'fais juste ça :

if(mysql_query($sql)) ...
else ...

forummp3
WRInaute accro
WRInaute accro
 
Messages: 1551
Inscription: Dim Fév 08, 2004 11:10

Message le Jeu Déc 22, 2005 2:03

le " or die(message); " est le mieux, je pense

shrom
WRInaute passionné
WRInaute passionné
 
Messages: 865
Inscription: Lun Juil 05, 2004 22:37

Message le Jeu Déc 22, 2005 2:18

forummp3 a écrit: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: Tout sélectionner
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
}

forummp3
WRInaute accro
WRInaute accro
 
Messages: 1551
Inscription: Dim Fév 08, 2004 11:10

Message le Jeu Déc 22, 2005 2:27

shrom a écrit:
forummp3 a écrit: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: Tout sélectionner
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.

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Jeu Déc 22, 2005 8:34

shrom a écrit:
Code: Tout sélectionner
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:


chantra
WRInaute impliqué
WRInaute impliqué
 
Messages: 257
Inscription: Lun Juin 27, 2005 19:12

Message le Jeu Déc 22, 2005 9:33

en regle general, les update, insert .... renvoit FALSE en cas de probleme

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Jeu Déc 22, 2005 10:15

forummp3 a écrit: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.

atomikado
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 149
Inscription: Lun Sep 22, 2003 9:50

Message le Jeu Déc 22, 2005 10:31

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


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Message le Jeu Déc 22, 2005 11:57

Euh il me semble qu'on peut aussi faire un mix des deux :
Code: Tout sélectionner
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();
}

shrom
WRInaute passionné
WRInaute passionné
 
Messages: 865
Inscription: Lun Juil 05, 2004 22:37

Message le Jeu Déc 22, 2005 14:15

atomikado a écrit: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.

INSERT ou UPDATE : Mysql

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités