Forum Programmation.php support de mssql

Posté par  .
Étiquettes : aucune
0
3
nov.
2006
slt à tous j'ai installé php4-sybase pour pouvoir activer le support des bases de données microsoft sql server.j'ai egalement modifié le fichier php.ini en ajoutant ces deux lignes:
extension=mssql.so
extension=sybase_ct.so
mais il me ramene les erreurs suivantes:

Warning: mssql_connect(): Sybase: Unable to connect
Warning: mssql_select_db(): supplied argument is not a valid Sybase-Link resource
Warning: mssql_query(): no Sybase-Link resource supplied

Warning: mssql_num_rows(): supplied argument is not a valid Sybase result resource

si quelqu'un a deja rencontré ce probleme un coup de main serait pas de refus
  • # sybase ?

    Posté par  . Évalué à 1.

    http://www.zdnet.fr/builder/architecture/base_de_donnees/0,3(...)

    ne semble pas utiles pour se connecter à mssql server...

    ca pourrait venir de là.

    maintenant si tu ne nous donnes pas les requetes que tu fais on ne peux pas non plus les corriger.
    • [^] # Re: sybase ?

      Posté par  . Évalué à 1.

      voisi un exemple de mon fichier connect.
      php:
      <?
      $MonServer = "127.0.0.1\TEST";
      $MonUser = "serval";
      $MonPass = "";
      $MaDB = "testserv";
      $msconnect= mssql_connect("$MonServer","$MonUser","$MonPass");
      $msdb= mssql_select_db("$MaDB",$msconnect);
      ?>


      et un exemple de mon fichier de test

      <?php
      $mdp=base64_encode($pass);
      include("connect.php");
      $sqlquery="SELECT AbonneId FROM ABONNE where AbnTel1='+22507837283'";
      $result = mssql_query($sqlquery);
      if (mssql_num_rows($result)==0)
      {
      echo"";
      echo"Espace sécurisé, vérifier vos paramètres";
      echo"Page d'acceuil";
      }
      else
      {
      while ($row = mssql_fetch_row($result))
      {
      $pin = $row[0];
      }

      }

      ?>
      • [^] # Re: sybase ?

        Posté par  . Évalué à 1.


        <?
        $MonServer = "127.0.0.1\TEST";
        $MonUser = "serval";
        $MonPass = "";
        $MaDB = "testserv";
        $msconnect= mssql_connect("$MonServer","$MonUser","$MonPass");
        $msdb= mssql_select_db("$MaDB",$msconnect);
        ?>


        enleve le \test deja

        sinon le reste me semble bon, mais fait eventuellement un test sur le retour de la connexion
        test $msconnect et eventuellement $msdb
        avant d'aller plus loin dans ton php.
        • [^] # Re: sybase ?

          Posté par  . Évalué à 1.

          quand j'enleve le \TEST il est impossible de se connecter au serveur et j'ai toujours les memes erreurs du type


          Warning: mssql_connect(): Sybase: Unable to connect in /var/www/testsid/connect.php
          • [^] # Re: sybase ?

            Posté par  . Évalué à 0.

            bon d'apres le message le probleme viendrait de
            $msconnect= mssql_connect("$MonServer","$MonUser","$MonPass");

            as-tu essayé en changeant les " par des '

            style :
            $msconnect= mssql_connect('$MonServer','$MonUser','$MonPass');

            ma technique pour debugguer du PHP
            une variable $DEBUG=1 au debut du code (0 quand le programme sera finit)

            et apres chaque valueur ou je doute un
            if ($DEBUG) { echo $msconnect; }

            etc
            et ca m'a souvent permis de voir que
            "$Monserver" par exemple n'evaluerait pas la variable alors que
            '$Monserver' remplace la variable par sa valeur.
            • [^] # Re: sybase ?

              Posté par  (site web personnel) . Évalué à 1.

              "$Monserver" par exemple n'evaluerait pas la variable alors que
              '$Monserver' remplace la variable par sa valeur.


              C'est l'inverse. Et dans le cas présent les guillemets comme les apostrophes sont totalement superflus.
      • [^] # Re: sybase ?

        Posté par  (site web personnel) . Évalué à 2.

        Question peut-être bizarre mais... tu sembles utiliser PHP sous Linux (extension=php_mssql.so au lieu de extension=php_mssql.dll). Or dans ton code tu te connectes à la machine qui fait tourner PHP (127.0.0.1) sur un serveur SQL Server.

        Soit j'ai loupé un épisode et SQL Server est disponible sous Linux, soit tu te connectes à la mauvaise adresse.

        Et sinon, juste en passant, même si ça n'a aucune incidence:
        $msconnect= mssql_connect("$MonServer","$MonUser","$MonPass");


        Retire-moi ces guillemets !
        • [^] # Re: sybase ?

          Posté par  . Évalué à 1.

          j'ai suivi tous vos conseils mais j'ai toujours la meme erreur.
          J'ai une question il me semblerait qu'il s'agisse d'un probleme de connexion à la base de donnée, je voudrais m'assurer que ce n'est pas le support de sql server qui est mis en cause au travers de ces erreurs

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.