Mysql_affected_rows donne toujours 1

cs_heeedi Messages postés 3 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 9 février 2010 - 16 juin 2009 à 10:17
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 16 juin 2009 à 21:33
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

syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
16 juin 2009 à 15:33
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.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
16 juin 2009 à 21:25
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
16 juin 2009 à 21:33
... 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-
0
Rejoignez-nous