Mysql_affected_rows donne toujours 1

Signaler
Messages postés
3
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
9 février 2010
-
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
-
bonjour

voici mon code:

Code :
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
include("connexion.php");

$req="insert into client values('$nom','$prenom')" or die ("Select impossible");
mysql_query($req);

$res= mysql_affected_rows();

if($res==1)
{
echo 'enregistrement Ok';
}else{
echo 'pas d'enregistrement';
}

mon probléme c'est que mysql_affected_rows vaut toujours 1 même s'il n ya pas d'insertion.

3 réponses

Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
Si l'insertion n'a pu se faire c'est alors ton 'die' qui prend le relai.. donc ton affected-rows est hors propos.. mais ça n'engage que moi.
S.
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
... bug CS à première vue

Je disais donc :
C'est surtout que ta requête est incorrecte :
$req="insert into client values('$nom','$prenom')" or die ("Select impossible");
En bleu : du sql
En rouge : du php
$req mélange de sql et de php> erreur que tu devrais afficher.

Bug (bis) : plus de mise en forme possible, donc plus de couleur :-(
insert into client values('$nom','$prenom')
=> sql
or die ("Select impossible");
=> php

fais plutôt :

$req = "INSERT INTO client VALUES('$nom','$prenom')";

if (false !== mysql_query($req)) {
echo 'enregistrement Ok';
} else die ("Select (ou plutôt insert) impossible");


Cordialement,


Kohntark-