Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : mysql_num_rows() [ Base de données / MySQL ] (christian33)

dimanche 6 avril 2008 à 23:05:26 | mysql_num_rows()

christian33

Bonjour

Mon site existe depuis 2ans et a toujours fonctioné sur les divers hebregement que j'ai eu
cette semaine je suis passés chez OVH et certaines parties du site BUG maintenant
Mon script est sensé verifié q'une requete n'existe pas deja dans la base sinon elle passe autre chose

$q2 = "SELECT * FROM gtest WHERE fid='$id' AND fdate=now()";
 $e2 = mysql_query($q2);
 if (mysql_num_rows($e2)= =0) {
$q = "INSERT INTO ...}
else {...}

Malheuresement A chaque fois que j'appelle la page, il fait un INSERT, pourtant
mysql_num_rows($e2) n'est pas egal a zero dans la BDD
avez vous une idée de ce probleme?
 a savoir que ce script fonctionné parfaitement  avec PHP4.3.9 et mysql 4.1.22
je suis maintenant passés avec OVH a mysql 5

Merci de votre aide

Christian

dimanche 6 avril 2008 à 23:26:38 | Re : mysql_num_rows()

yoman64

Membre Club
Bonsoir,

d'ou vient la valeur de $id ? Si elle vient d'un formulaire ou de l'url alors peut être que tu ne la récupère pas de la bonne façon , a savoir via les super globales _GET et _POST.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  

dimanche 6 avril 2008 à 23:39:56 | Re : mysql_num_rows()

christian33

Bonsoir,

lors de mon INSERT a la base de donnée ma valeur $ID est bien recupéré par MYSQL qui affiche la bonne valeur de $ID

j'utilise la fonction suivante pour recupéré la valuer $id

$id =$_POST['id'];

la date enregistré via  fdate=now() est la bonne aussi.

Merci de votre aide



dimanche 6 avril 2008 à 23:59:22 | Re : mysql_num_rows()

yoman64

Membre Club
Salut,

Au fait, je dis peut être des conneries (j'en doute) mais dans == les deux signes égaux  doivent être collés.

Mis à part ça, et si ta requête mysql s'execute comme il le faut, alors désolé mais je ne vois pas le problème .

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  

lundi 7 avril 2008 à 00:14:58 | Re : mysql_num_rows()

christian33

oui effectivement, les deux = = doivent etre collé mais j'ai mis un espace juste sur le forum pour que l'on voyent bien qu'il y'en a bien 2 .
la requete insert s'execute parfaitement dans la BDD

mais lorsque je refait la meme requete en rapellant la page, j'ai de nouveau un insert identique au premier qui s'enregistre dans la base alors que la requetes mysql_num_rows n'est plus  egal a zero .

 
fnum   







fip    fid   fdateftime























































1  88.121.117.43
   4


2008-04-06


23:51:10
















2  88.121.117.43
   4


2008-04-06


23:51:06
















3  88.121.117.43
4


2008-04-06


23:51:04






Voici un extrait de ma base
 fnum etant auto_increment
fip l'adresse IP
fid = $id soit 4
fdate= la date
ftime= l'heure
Comme vous pouvez le voir
j'ai a trois reprise dans cette extrait de ma base
WHERE fid='$id' AND fdate=now()
pourtant la fonction mysql_num_rows ne fonctionne pas
Merci de votre aide

lundi 7 avril 2008 à 01:10:56 | Re : mysql_num_rows()

neigedhiver

Salut,

Si fid est un champ numérique, il ne faut pas l'entourer de guillemets.
Dans ton script, tu ne vérifies pas si ta requêtes est correctement exécutée. Tu te contentes de supposer que oui, et de compter le nombre de résultats.
Or, si ta requête ne passe pas, le nombre de résultats vaudra zéro.

if ($e2=mysql_query($q2)) {
if (mysql_num_rows($e2)= =0) {
$q = "INSERT INTO ...
}
else {
// Patati
}
}
else {
// Pour debug uniquement, c'est moche de laisser ça en production...
die('Erreur n°' . mysql_errno() . ' : ' . mysql_error());
}


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...

lundi 7 avril 2008 à 01:12:18 | Re : mysql_num_rows()

neigedhiver

J'ai pas corrigé le == , j'ai oublié...
M'enfin on voit bien, même sur le forum, quand y'a deux = côte à côte...


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...

lundi 7 avril 2008 à 02:54:33 | Re : mysql_num_rows()

malalam

Administrateur CodeS-SourceS
Hello,

WHERE fid=$id AND fdate=now()
A moins que tu ne lances ce script plusieurs fois très très très vite...ça me parait normal que tu ne récupères jamais aucun enregistrement. Une date a cette propriété de changer tout le temps ;-)

lundi 7 avril 2008 à 07:54:44 | Re : mysql_num_rows()

malalam

Administrateur CodeS-SourceS
Et comme j'ai pas précisé cette nuit : SELECT NOW() renvoie la date courante jusqu'aux secondes.

lundi 7 avril 2008 à 18:52:50 | Re : mysql_num_rows()

christian33

bonjour

merci pour votre aide, j'ai modifié quelque peu mon code afin de suivre vos conseils et j'ai fait cela

$ma = date("Y-m-d");
$q2 = "SELECT * FROM gtest WHERE fid=$id AND fdate=$ma" or die(mysql_error());
 $e2 = mysql_query($q2);
 if (mysql_num_rows($e2)==0) {
  $q = "INSERT INTO gtest ....

Bon ca ne fonctionne malheuresement pas
l'enregistrement dans ma base pour $ma= 0000-00-00

J'ai fait l'essai avec ton morceau de scriptneigedhiver
mais cela ne me retourne aucune erreur

Afin de levé un doute et confirmé l'idée de  malalam
j'ai supprimé  AND fdate=now() de ma requete et desormais le script refonctionne parfaitement

Ce qui me chagrine aussi c'est pourquoi ma fonction
$ma = date("Y-m-d");
ne me retourne pas la date  ?
et me donne 0000-00-00

Comment faire pour remplacer => now()
qui pourtant fonctionner parfaitement sur mon ancien hébergement


Merci


1 2

Cette discussion est classé dans : site, mysql, rows, num, e2


Répondre à ce message

Sujets en rapport avec ce message

mysql_num_rows() probleme avec la vérification du pseudonyme [ par BelphegorCLC ] Salut,voila j'ai un probleme avec la vérification du pseudonyme, j'ai déja bien cherché sur plusieurs forum et tuto, essayé plusieurs mise en forme de simple question. [ par Zebra1928 ] slt tous le monde je veux simplement comprendre c koi la différence entre @mysql_num_rows et mysql_num_rowsaussi entre @mysql_connect($host,$user,$p probleme mysql_fetch_row() et mysql_num_rows() [ par Zenith ] Bonjour, je suis en train de me faire un script de recherce dans une base de donnée, mais je rencontre des problemes. en effet, lors de l'execution de WHERE + mysql_num_rows [ par GuinaweK ] Quelqu'un saurait me dire si c'est possible d'arriver à lier une clause WHERE dans la requete SQL avec la commande mysql_num_rows ?Je me sers d'un mêm fonction mysql_num_rows() [ par cladx ] Bon voila je veus savoir si l'email est present dans la base de donnée donc justilise tous naturelement la fonction mysql_num_rows() dont voici une pa Erreur: mysql_num_rows() [ par refkaben ] Bonjour à tous!J'ai une erreur qui ma prend la tete depuis hier!Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c mysql_num_rows [ par LordBob ] Bonjour a tous,en fait j'aimerais juste savoir, pour connaitre le nombre de resultat que l'on a à une requête, on fait mysql_num_rows + 1?car j'ai l'i Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in... [ par Florent06 ] SalutJe suis en train de faire une zone membres pour mon site. Dans la page d'inscription, il y a un script (pris ici) qui sert à mysql_num_rows() ou COUNT() ?? [ par aymeric45 ] Chers amis développeurs, bonjour.J'aimerais savoir, quelle est la solution la plus optimisée pour compter le nombre d'enregistrements sélectionnés par probleme de rows [ par christuckers ] Salut tout le monde,Je dois avoir un probleme dans ma requete :    $nbr3 = mysql_num_rows(mysql_query($query3)); ?


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.