IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Accès à une base Access avec PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut Accès à une base Access avec PHP
    voici j'essaye de faire une connection a une base Access via PHP

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    // Sélection du driver et de la base de données
     
    $DSNLess='DRIVER={Driver do Microsoft Access (*.mdb)}; DBQ=C:\wamp\www\Administrateur\donnees.mdb';
     
    // Connexion au DSN nouvellement créé
     
    $cnx=@odbc_connect($DSNLess,'','');
     
    if(!$cnx)
    {
    // Si erreur de connexion
    echo "Impossible de se connecter";
    }
     
    $id = $_GET["ident"];
     
    $sql = "SELECT * FROM ParcelNet WHERE ident = ".$id;
     
    $requete = odbc_do($cnx,$sql);
     
    $valeur = odbc_exec($cnx,$requete);
     
    $count = 0;
    echo'<table border="1"><tbody>
         <tr>';
    for ($j=1; $j<odbc_num_fields($valeur)+1;$j++)
    {
    	echo '<td align="center"><strong>'.odbc_field_name($result,$j).'</strong></td>';
    	$count++;
    }
    echo'</tr>';
    $resultnumber = 0;
    while(odbc_fetch_row($result))
    {
    	echo '<tr>';
    	for ($i = 1; $i<$count+1;$i++)
    	{
    		if(odbc_result($result,$i))
    			$data = odbc_result($result,$i);
    		else
    			$data = "-";
    		echo '<td align="center">'.$data."</td>";
    	}
    	echo '</tr>';
    	$resultnumber ++;
    }
     
    echo'</tbody></table>';
     
    odbc_close ($cnx);
     
    ?>
    ce code me fournis des erreurs :

    Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression 'ident = AB 1'., SQL state 37000 in SQLExecDirect in C:\wamp\www\Administrateur\requete.php on line 20

    Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Pilote ODBC Microsoft Access]Utilisation non valide de pointeur null , SQL state S1009 in SQLExecDirect in C:\wamp\www\Administrateur\requete.php on line 22

    Warning: odbc_num_fields(): supplied argument is not a valid ODBC result resource in C:\wamp\www\Administrateur\requete.php on line 27

    Warning: odbc_fetch_row(): supplied argument is not a valid ODBC result resource in C:\wamp\www\Administrateur\requete.php on line 34
    cela viendrais t il de ma création de DSN?
    car je veux pouvoir créer un DSN automatiquement sans que l'utilisateur ai besoin de le faire

    merci d'avance de votre aide

  2. #2
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    a priori ton $id n'est pas un chiffre mais une chaine de char.
    Il faut donc la mettre entre guillemets dans ta requete.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut
    ça m'affiche toujour la même erreur

    j'ai corrigé ça comme ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM ParcelNet WHERE ident = $id";

  4. #4
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    En fait c'est plutot comme cela que je le voyais.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM ParcelNet WHERE ident = '$id'";
    [/QUOTE]

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut
    merci la premiere erreur c'est enlever
    maintenant il reste celle ci :

    Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' attendus., SQL state 37000 in SQLExecDirect in C:\wamp\www\Administrateur\requete.php on line 22
    je vois pas du tout pourquoi ma requete serait non valide?

  6. #6
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    Je ne connais rien a ODBC mais a priori c'est ou odbc_do ou odbc_exec et pas en s'enchainant

Discussions similaires

  1. Réponses: 7
    Dernier message: 12/04/2006, 23h19
  2. [MFC] Accès à une base access sur le net
    Par LapinGarou dans le forum MFC
    Réponses: 4
    Dernier message: 21/03/2006, 12h11
  3. Comment compacter une base Access avec ADO ?
    Par langela94 dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/12/2005, 16h24
  4. Créer une base Access avec Delphi
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/10/2005, 16h55
  5. Modification d'une base Access avec MySQL
    Par Wyatt dans le forum Administration
    Réponses: 2
    Dernier message: 07/01/2005, 19h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo