Pb extraction Access/PHP

Résolu
Signaler
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008
-
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008
-
Bonjour,

J'ai pour obligation d'utliser Access que je connais peu avec PHP.
En me servant e mes connaissances PHP/MySQL, j'ai tenté ceci mais j'ai le message d'erreur suivant : Warning: mysql_fetch_array(): supplied resource is not a valid MySQL
result resource in c:\program files\easyphp1-8\www\dividends\extract.php
on line 198

Quelqu'un peut-il me dire pourquoi et éventuellement m'en dire un peu plus sur le tandem PHP/Access ?

Merci par avance.


<?php
$DBConnection = odbc_connect( "DBDividends", "Root", "Pass" ) or die ("Connection error") ;
$SqlAllStock = "SELECT * FROM TblStock";
$QueryAllStock = odbc_do($DBConnection, $SqlAllStock);
//$MyQueryAllStock = mysql_query($QueryAllStock);
while ($RetrieveQueryAllStock = mysql_fetch_array($QueryAllStock)) {
?>
<TR>
<TD><?php echo $RetrieveQueryAllStock['name']; ?></TD></TR>
<?
}
?>
<TR>

3 réponses

Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Hello ,

tout d'abord tu dois créer une connection OBDC système avec OBDC adminnistrator, avec le microdsoft access driver.mdb si mes souvenirs sont bon ...
tu peux nommer ta connection : ODBC_FOR_ACCESS, comme mon exemple ...

apres tu peux requêter, mais tu dois oublier le "mysql" dans ton code .... un petit lien qui pourra t'en dire plus : http://fr2.php.net/manual/fr/ref.uodbc.php

utilise plutot cette syntaxe ...

$conn = odbc_connect ( 'ODBC_FOR_ACCESS' , 'admin', '' ) or die(odbc_errormsg() );
$sql = 'select * from ma_table ';
$res = odbc_prepare($conn, $sql) ;
 
if(!$res) die('Impossible de charger la table );
if(odbc_execute($res)) {



Description de la table sélectionnée :
ma_table'

';

  if(odbc_execute($res)) {

  for ($i = 1; $i < odbc_num_fields($res); $i++) { 
    $nom = odbc_field_name($res, $i);
    $type = odbc_field_type($res, $i);
    $len = odbc_field_precision($res, $i);
    echo ''.$nom.'&nbsp;&nbsp;&nbsp;, ';
   }

   echo '';
   $Couleur == \"#F5F5F5\";
   while ($data = odbc_fetch_array($res)) {    if ($Couleur \"#F5F5F5\") $Couleur \"#CCCCCC\";
    else $Couleur = \"#F5F5F5\";
    echo '----
';
    for ($i = 1; $i < odbc_num_fields($res); $i++) {
     echo ''.$data[''.odbc_field_name($res, $i).''].', ';
    }     
    

    echo '';
   }
   echo '

odbc_close_all();




voila, pour commencer, apres je te souhaite bon courage .... il y a tres peu de code, source ou explication sur les connections ODBC avec PHP, car PHP est souvent voir tout le tps couplé à MySQL.

Bon courage

***********  Si cette réponse vous convient, merci de valider ce post  ***********

ChaPaTa
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

tu te connectes avec odbc et fait une requette avec mysql... c'est pas disons l'ideal

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008

Merci bcp pour toutes ces précisions chapata!
++
nougitch