Pb extraction Access/PHP

Résolu
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008 - 20 juin 2007 à 12:21
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008 - 29 juin 2007 à 17:22
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

cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
21 juin 2007 à 12:51
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
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
20 juin 2007 à 14:06
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
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
29 juin 2007 à 17:22
Merci bcp pour toutes ces précisions chapata!
++
nougitch
0
Rejoignez-nous