Message erreur....

Résolu
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 31 janv. 2006 à 14:20
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 1 févr. 2006 à 08:03
Bonjour j'ai ce message et je suis incapable de trouver d'ou ca peut bien venir, est ce que qq'un peut me filer un cuop de main...? :


Fatal error: Call to a member function on a non-object in D:\qualite\test\ref.php on line 26
(Ca correspondrait à la ligne surlignée en rouge...)
Mon code est le suivant :
<?php


error_reporting(E_ALL);



$base="D:\\Qualite\test\References.mdb";
$References="References";


//connection au serveur:
$cnx = odbc_connect( "DSN_References","" ,"") or die ("Impossible de se connecter à la base de donnée") ;



$sql = "SELECT * FROM $References"; // Selectionne une table
$requete = odbc_do($cnx, $sql);


echo "\";
while (!$requete->EOF) // tant que pas le fichier n'est pas terminé
{

$col2 = $requete->Fields[1]; // Ligne contenant le nom recherché
$col3 = $requete->Fields[2];

echo \"Nom : $col2->value
\";
echo \"Photo : $col3->value
\";

$requete->MoveNext(); // enregistrement suivant
}

echo "
";


?>

4 réponses

supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007
31 janv. 2006 à 18:01
Je crois que tu à l'impression de lire un fichier texte (à cause de la ligne utilisant EOF (EndOf File))

Or, là, tu attaques une base de données.

A mon avis, tu devrais essayer avec les fonctions 'com_nexen_v2&Itemid=232&lang=FR&nexen_url_type=intern&nexen_path=%25F1%25FD5%25FC%25F1u%2502y%258C%25AA%25E1%25C1%2502%25A7%25EB%25D8%25DB%25F6%250BU%25BE%250F6qE%2525%25E7%25AD%25D2%25EF%2592%25C0o%259C%25F52%25EE%255E%2513y%257E%259C%257F%25EF0%25D5J%25E3%2528e08%25C7%253C%250C%25B0%257Ey_%250EL%2594%2596%252C <tt>odbc_fetch_row</tt>' et '<tt>odbc_result</tt>'.

Je n'ai jamais fait de requêtes ODBC en PHP mais je pense que tu devrais essayer un truc du genre:



<?php
error_reporting(E_ALL);



$base ="D:\\Qualite\test\References.mdb";

$References="References";



//connection au serveur:

$cnx = odbc_connect( "DSN_References","" ,"") or die ("Impossible de se connecter à la base de donnée") ;





$sql = "SELECT * FROM $References"; // Selectionne une table

$requete = odbc_do($cnx, $sql);



echo "\";

while ( <tt>odbc_fetch_row</tt>( $requete, 1)) {

$col2 =
odbc_result( 
$requete, 1); // Ligne contenant le nom recherché

$col3 =
odbc_result( $requete, 2);

echo \"Nom : $col2->value
\";

echo \"Photo : $col3->value
\";

}

echo "
";



?>



De plus, tu utilises une table
sans jamais mettre de ligne...

Au lieu de



echo "Nom : $col2->value
";

echo "Photo : $col3->value
";



Mets plutôt quelque chose comme:



echo "<tr><td>Nom :</td><td>".$col2."</td></tr>";

echo "<tr><td>Photo :</td><td>".$col3."</td></tr>";
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 janv. 2006 à 14:29
T'es sûr que MoveNext () existe?
Et t'es sûr que $requete est un objet ? (visiblement oui puisque tu fais $requete -> Fields[1] avant, mais je n'ai jamais utilisé odbc avant en php).
0
yergo Messages postés 135 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 18 avril 2006
31 janv. 2006 à 14:39
salut,
aucune idée sur l'erreur mais ca peut t'aider :
http://www.php.net/odbc_connect
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
1 févr. 2006 à 08:03
Merci, finalement, j'ai fait comme cela et ça marche :

<?php


error_reporting(E_ALL);



$base="D:\\Qualite\test\References.mdb";
$References="References";


//connection au serveur:
$cnx = odbc_connect( "DSN_References","" ,"") or die ("Impossible de se connecter à la base de donnée") ;


$resultat = odbc_exec( $cnx, "SELECT Nom,Fonction,Salaire_annuel,Photo FROM $References" );
while( odbc_fetch_row( $resultat ) ) //tant que c pas la fin de la table
{
$nom = odbc_result ( $resultat, 1 );//ici on affiche la valeur du champ1
echo "Nom : $nom ";

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

$fonction = odbc_result ( $resultat, 2 );
echo "Fonction : $fonction ";

echo '

' ;

$photo = odbc_result($resultat, 4 );
echo "Trombine : " ;
echo "

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
}


?>
0
Rejoignez-nous