Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/04/2011, 21h48   #1
Membre à l'essai
 
Développeur informatique
Inscription : décembre 2007
Messages : 155
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2007
Messages : 155
Points : 20
Points : 20
Par défaut Fatal error: Call to a member function RowCount() on a non-object in

Bonsoir,

Une erreur sur un script saisie.inc. Je ne sais pas comment la résoudre. J'ai essayé mais je n'arrive pas. Voici le code de la fonction où l'erreur se produit:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function saisie_affiche_derniersappels ()
		{
		  global $conn;
 
		  $sql = "SELECT a.id, a.date_appel, s.nom, l.nom, p.nom".
		         "FROM appel a, structure s, lieu l, personne p ".
				 "WHERE a.id_structure = s.id".
				   "AND a.id_lieu = l.id".
				   "AND a.id_personne = p.id".
				  "ORDER BY a.id DESC ".
				  "LIMIT 5 ";
 
		  $rs = $conn->Execute($sql) ; //Execute the query and get the empty recordest (Exécutez la requête et obtenez les enregistrements vides)
		  $nb = $rs->RowCount("appel");
 
		  if (!rs)
		  {
		   print $conn->ErrorMsg();
		  }
		  else
		  {
		     echo "<H2>Les cinq appels r&eacute;cents saisis...</H2>";
 
			 //Si on n'obtient pas de résultat à notre requête
			 if (($nb) ==NULL)
			 {
			   echo "<H2>Votre base ne contient rien en ce moment !</H2>";
			 }
			 else
			 {
			   echo "<TABLE class=\"RESULTAT\" align=\"center\">";
			   echo " <TR><TH>Date</TH><TH>Heure</TH><TH>Structure appelante</TH><TH>Localisation</TH><TH>Appelant</TH></TR>";
 
			   while (!$rs->EOF)
			   {
			    $timestamp = $conn->UnixTimeStamp($rs->fields[1]);
				 $date = date (("d/m/Y"),$timestamp);
				 $heure = date (("H:i"), $timestamp);
 
				 echo "<TR>";
				 echo " <TD>&nbsp;".$date."</TD><TD>&nbsp;".$heure."</TD>";
				 echo " <TD>&nbsp;".$rs->fields[2]."</TD><TD>&nbsp;".$rs->fields[3]."</TD><TD>&nbsp;".$rs->fields[4]."</TD>";
				 echo " <TD><A HREF=\"index.php?action=consulter.fiche&idAppel=".$res->fields[0]."&date1=".isset($date1)."&date2=".isset($date2)."&provenance=saisie\">Plus d'infos</A><TD>";
				 echo " <TD><A HREF=\"index.php?action=saisir.modifier&idAppel=".$res->fields[0]."&date1=".isset($date1)."&date2".isset($date2)."&provenance=saisie\" >Modifier</A></TD>";
 
				 $rs->MoveNext();
				 echo "</TR>";
			   }
			   echo "</TABLE>";
			   echo "<BR><BR>";
			 }
		   }
		 }
L'erreur est sur cette ligne:

Citation:
$nb = $rs->RowCount("appel");
Si une personne pourrait m'aider, je serai très reconnaissant. Je suis bloqué
Gobelins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h01   #2
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
global $conn est censé être un objet pdo, l'as tu instancié avant d'utiliser ta fonction ?
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h23   #3
Membre à l'essai
 
Développeur informatique
Inscription : décembre 2007
Messages : 155
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2007
Messages : 155
Points : 20
Points : 20
J'utilise la librairie adodb. Dans le fichier index.php:

Code :
1
2
3
$conn = &ADONewConnection(BASE_TYPE); // génération de connexion
$conn->debug = 0;
$conn->PConnect(SERVER,ACCOUNT,PASSWORD,BASE); // se connecter à MySQL, testdb
$conn est déclaré comme variable globale dans tous le fichiers crés. Je ne pense pas que j'ai instancié $conn.

Comment il faut l'instancier?
Gobelins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h37   #4
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
non c'est bon :
Code :
$conn = &ADONewConnection(BASE_TYPE);
c'est fait mais je penses que c'est ta requete qui bloque, fait un echo sur $sql parce que je ne vois pas comment tu passes tes paramètres à ta requete ?
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h43.


 
 
 
 
Partenaires

Hébergement Web