Probleme avec le compteur de menbre en ligne

Résolu/Fermé
maxim - 30 mai 2011 à 11:33
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 30 mai 2011 à 12:42
Bonjour,

j'ai un problème dans mon code Php:

$nu=$_GET['nu'];
$rep = mysql_query("SELECT p.nom,p.prenom ,r.id_rendezvous ,r.heur, r.date FROM patient p,rendezvous r where r.id_rendez-vous=$nu and p.id_rendezvous=$nu;");
while($donnees = mysql_fetch_array($rep))
{

$id_rdv= $donnees['id_rendezvous'];
$nom= $donnees['nom'];
$prenom= $donnees['prenom'];
$heur= $donnees['heur'];
$date= $donnees['date'];
}
la raquette marche bien dans phpmyadmin.
mais a la fin il me donne ça quand je lance la page sur le navigateur:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Gestion1\Includes\accueil.php on line 305

aidez moi svp !

A voir également:

2 réponses

Utilisateur anonyme
30 mai 2011 à 11:41
Bonjour,

Faites un echo "SELECT p.nom,p.prenom ,r.id_rendezvous ,r.heur, r.date FROM patient p,rendezvous r where r.id_rendez-vous=$nu and p.id_rendezvous=$nu;"

Juste avant $rep =

Histoire de voir si votre requête fonctionne bien
0
voilà il affiche ça:
SELECT p.nom,p.prenom ,r.id_rendezvous ,r.heur, r.date FROM patient p,rendezvous r where r.id_rendez-vous=2 and p.id_rendezvous=2;

ça veux dire que y a pas de problème au niveau de $_GET
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
30 mai 2011 à 12:21
Le WHERE et le AND de la requête sont censé être en majuscule.
$rep = mysql_query("SELECT p.nom,p.prenom ,r.id_rendezvous ,r.heur, r.date FROM patient p,rendezvous r WHERE r.id_rendez-vous=$nu AND p.id_rendezvous=$nu;");


Personnellement, je te suggère de procéder plutôt de la manière suivante:
$sql='SELECT p.nom,p.prenom ,r.id_rendezvous ,r.heur, r.date FROM patient p,rendezvous r WHERE r.id_rendez-vous="'.mysql_real_escape_string($nu).'" AND p.id_rendezvous="'.mysql_real_escape_string($nu).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 

Ainsi, si tu as une erreur SQL, tu aura un message pour te prévenir.
J'ai également rajouté la fonction mysql_real_escape_string() de PHP pour sécuriser un peu plus ta requête.
Voir cette page: https://www.php.net/manual/fr/function.mysql-real-escape-string.php
0
Merci beaucoup ça fonctionne bien maintenant :)
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
30 mai 2011 à 12:42
Pas de souci.
Content d'avoir pu t'aider :)
0