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 :

Error in SQL


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut Error in SQL
    Bonjour,

    Je ne comprend pas j'ai un message d'erreur ( Error in SQL ), pourtant je pense pas avoir fais une erreur

    Pouvez vous regarder mon script merci à vous

    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
     
    <html> 
    <body><?php 
    $conn=odbc_connect(mabase,'',''); 
    if (!$conn) 
    {exit("Connection Failed: " . $conn);} 
    $sql='SELECT HDOCNO, HDOCDATE, CNAME1 FROM SGCHISTO INNER JOIN SGCOMPAN
                 ON SGCHISTO.HID = SGCOMPAN.CID'; 
    $rs=odbc_exec($conn,$sql); 
    if (!$rs) 
    {exit("Error in SQL");} 
    echo "<table><tr>"; 
    echo "<th>HDOCNO</th>"; 
    echo "<th>HDOCDATE</th>"; 
    echo "<th>CNAME1</th></tr>"; 
    while (odbc_fetch_row($rs)) 
    { 
    $HDOCNO=odbc_result($rs,"HDOCNO"); 
    $HDOCDATE=odbc_result($rs,"HDOCDATE"); 	   
    $CNAME1=odbc_result($rs,"CNAME1");
    echo "<tr><td>$HDOCNO</td>"; 
    echo "<td>$HDOCDATE</td></tr>"; 	
    echo "<td>$CNAME1</td></tr>";
    } 
    odbc_close($conn); 
    echo "</table>"; 
    ?></body> 
    </html>

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 158
    Points
    158
    Par défaut
    et quand tu execute ta query manuellement dans ton server SQL?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql='SELECT HDOCNO, HDOCDATE, CNAME1 FROM SGCHISTO INNER JOIN SGCOMPAN
                 ON SGCHISTO.HID = SGCOMPAN.CID';

  3. #3
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    C'est une connection ODBC sur 2 fichier .DB, je ne comprend pas pq sa ne fonctionne pas ?

    qaund je teste sur une des DB la sa fonctionne avec le code ci dessous

    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
     
     <html> 
    <body><?php 
    $conn=odbc_connect(mabase,'',''); 
    if (!$conn) 
    {exit("Connection Failed: " . $conn);} 
    $sql="SELECT * FROM SGCHISTO"; 
    $rs=odbc_exec($conn,$sql); 
    if (!$rs) 
    {exit("Error in SQL");} 
    echo "<table><tr>"; 
    echo "<th>HTYPE</th>"; 
    echo "<th>HID</th></tr>"; 
    while (odbc_fetch_row($rs)) 
    { 
    $HTYPE=odbc_result($rs,"HTYPE"); 
    $HID=odbc_result($rs,"HID"); 
    echo "<tr><td>$HTYPE</td>"; 
    echo "<td>$HID</td></tr>"; 
    } 
    odbc_close($conn); 
    echo "</table>"; 
    ?></body> 
    </html>

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 158
    Points
    158
    Par défaut
    puisque tu as pas le message d'erreur de connection, ca a l'air de connecter a ta base.
    c'est la ligne d'apres ou ca peche.
    Je pense que tu a pas mis les login et pass a ta base volontairement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    odbc_pconnect("mabase","","","");
    Est ce que t'as un fichier de log pour voir les erreurs plus en details? genre apache ou sql?

  5. #5
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    et pourtant sa fonctionne impecc sur ce code ci dessous alors que je fais la même chose sur l'autre db et la sa fonctionne pas ??

    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
     
     <html> 
    <body><?php 
    $conn=odbc_connect(mabase,'',''); 
    if (!$conn) 
    {exit("Connection Failed: " . $conn);} 
    $sql="SELECT * FROM SGCHISTO"; 
    $rs=odbc_exec($conn,$sql); 
    if (!$rs) 
    {exit("Error in SQL");} 
    echo "<table><tr>"; 
    echo "<th>HTYPE</th>"; 
    echo "<th>HID</th></tr>"; 
    while (odbc_fetch_row($rs)) 
    { 
    $HTYPE=odbc_result($rs,"HTYPE"); 
    $HID=odbc_result($rs,"HID"); 
    echo "<tr><td>$HTYPE</td>"; 
    echo "<td>$HID</td></tr>"; 
    } 
    odbc_close($conn); 
    echo "</table>"; 
    ?></body> 
    </html>

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 158
    Points
    158
    Par défaut
    sur php.net, il y a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      // you must set the connection first
             if (odbc_error())
             {
                   echo odbc_errormsg($conn);
             }
    ou
    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
     
    /* get connection */
    $conn=odbc_connect("mydb","","");
     
    /* run insert */
    $stmt = odbc_prepare($conn, "INSERT INTO mytable (jor_from, jor_to) VALUES('$from', '$to');" );
     
    /* check for errors */
    if (!odbc_execute($stmt)) {
        /* error  */
        echo "Whoops";
    }
     
    /* close connection */
    odbc_close($conn);

  7. #7
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    Merci de votre aide je n'y parviens tj pas la je suis vraiment bloquer

  8. #8
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    Je viens de m'appercevoie que si, dans ma requête SQl, j'ai des simples cotes comme dans mon code ci-dessous, il n'affiche rien.
    Par contre, si je mets des doubles cotes, il m'affiche le message d'erreur suivant : error in SQL.
    Pouvez-vous m'aider ?

    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
     
    <html> 
    <body><?php 
    $conn=odbc_connect(mabase,'',''); 
    if (!$conn) 
    {exit("Connection Failed: " . $conn);} 
    $sql='SELECT HDOCNO, HDOCDATE, CNAME1 FROM SGCHISTO INNER JOIN SGCOMPAN
                 ON SGCHISTO.HID = SGCOMPAN.CID WHERE HTYPE = 'C''; 
    $rs=odbc_exec($conn,$sql); 
    if (!$rs) 
    {exit("Error in SQL");} 
    echo "<table><tr>"; 
    echo "<th>HDOCNO</th>"; 
    echo "<th>HDOCDATE</th>"; 
    echo "<th>CNAME1</th></tr>"; 
    while (odbc_fetch_row($rs)) 
    { 
    $HDOCNO=odbc_result($rs,"HDOCNO"); 
    $HDOCDATE=odbc_result($rs,"HDOCDATE"); 	   
    $CNAME1=odbc_result($rs,"CNAME1");
    echo "<tr><td>$HDOCNO</td>"; 
    echo "<td>$HDOCDATE</td></tr>"; 	
    echo "<td>$CNAME1</td></tr>";
    } 
    odbc_close($conn); 
    echo "</table>"; 
    ?></body> 
    </html>

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si ton SGCB demande des guillemets simples, fait un chaine en guillemets doubles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql="SELECT HDOCNO, HDOCDATE, CNAME1 FROM SGCHISTO INNER JOIN SGCOMPAN
                 ON SGCHISTO.HID = SGCOMPAN.CID WHERE HTYPE = 'C'";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    Ok mes avec les guillemets doubles j'ai un msg d'erreur ( error in sql ) ??

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que cette requete fonctionne sur le serveur ? ce n'est pas la meme qu'au début.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    non elle ne fonctionne pas. Par contre, je me suis aperçu que dans ma connection ODBC qui se nomme mabase, j'ai 2 fichiers db SGCHISTO.DB et SGCOMPAN.DB
    Quand je fais une requête pour ouvrir mes tables, comme avec le code ci-dessou, cela fonctionne avec la table SGCHISTO.DB mais pas avec la table SGCOMPAN.DB
    Dois-jefaire quelque chose de spécial dans la connection ODBC ?


    code php pour SGHISTO qui fonctionne parfetement
    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
     
     <html> 
    <body><?php 
    $conn=odbc_connect(mabase,'',''); 
    if (!$conn) 
    {exit("Connection Failed: " . $conn);} 
    $sql="SELECT * FROM SGCHISTO"; 
    $rs=odbc_exec($conn,$sql); 
    if (!$rs) 
    {exit("Error in SQL");} 
    echo "<table><tr>"; 
    echo "<th>HTYPE</th>"; 
    echo "<th>HID</th></tr>"; 
    while (odbc_fetch_row($rs)) 
    { 
    $HTYPE=odbc_result($rs,"HTYPE"); 
    $HID=odbc_result($rs,"HID"); 
    echo "<tr><td>$HTYPE</td>"; 
    echo "<td>$HID</td></tr>"; 
    } 
    odbc_close($conn); 
    echo "</table>"; 
    ?></body> 
    </html>
    code php pour SGCOMPAN qui ne fonctionne pas msg d'erreur obtenu ( error in sql )
    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
     
    <html> 
    <body><?php 
    $conn=odbc_connect(mabase,'',''); 
    if (!$conn) 
    {exit("Connection Failed: " . $conn);} 
    $sql="SELECT * FROM SGCOMPAN"; 
    $rs=odbc_exec($conn,$sql); 
    if (!$rs) 
    {exit("Error in SQL");} 
    echo "<table><tr>"; 
    echo "<th>CID</th>"; 
    echo "<th>CNAME1</th></tr>"; 
    while (odbc_fetch_row($rs)) 
    { 
    $CID=odbc_result($rs,"CID"); 
    $CNAME1=odbc_result($rs,"CNAME1"); 
    echo "<tr><td>$CID</td>"; 
    echo "<td>$CNAME1</td></tr>"; 
    } 
    odbc_close($conn); 
    echo "</table>"; 
    ?></body> 
    </html>

Discussions similaires

  1. Error 111 SQL
    Par Hota03 dans le forum Administration
    Réponses: 1
    Dernier message: 04/12/2013, 18h33
  2. Error my SQL syntax
    Par maumen dans le forum Développement
    Réponses: 2
    Dernier message: 27/12/2009, 22h03
  3. Error 997 SQL 6.5
    Par debbaghanass dans le forum Administration
    Réponses: 1
    Dernier message: 03/11/2008, 19h18
  4. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 11h46

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