Relier du PHP à un serveur SQL

louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2845 Statut Membre -
Bonjour,

voila je voudrais relier mon site php a une base de données déjà existante
mon code est le suivant :

<?php

// Le serveur est au format : <hôte>\<nom d'instance> ou
// <serveur>,<port> quand on utilise un port différent de celui par défaut
$server = 'SRVTest';

// Connexion à MSSQL

$link = mssql_connect($server, 'admin', 'mot de passe');

if(!$link) {
die('Erreur de connexion à MSSQL');
}
?>

or quand je lance mon site j'ai ce message d'erreur :
Fatal error: Call to undefined function mssql_connect() in C:\wamp\www\application_php\connexion_serveur.php on line 8

Donc go le codage sur la page connexion_serveur.php ci dessus.

help me!!! J'en peu plus de cette erreur et je ne la vois pas....

17 réponses

  1. Utilisateur anonyme
     
    Bonjour

    L'extension mssql n'est visiblement pas activée.
    As-tu une ligne extension=php_mssql.dll dans ton fichier php.ini ?
    https://www.php.net/manual/fr/mssql.installation.php
    2
    1. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      oui c écrit : ;extension=php_mssql.dll

      donc ca devrai marcher non??

      jsui encore novice en code php
      0
    2. bassem
       
      Non tu dois supprimer le ';'
      0
  2. Jeremou51 Messages postés 42 Statut Membre 1
     
    Salut, Essaye avec mysqli_connect, on ne sait jamais
    0
  3. Utilisateur anonyme
     
    mysqli_connect, c'est pour mysql, pas mssql

    on ne sait jamais
    Si, on sait très bien que ça ne donnera rien..
    0
  4. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     
    alors je fais quoi je suis deseperer parce que en somme ce que je veu faire est simple
    si jarrive a me connecter a cet ***** base de donnée pour info je suis sur netgbeans pour le codage
    donc avec wamp
    et ma base de donner est sur sql serveur management

    si ça peu aider
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    alors je fais quoi
    Tu lis la réponse plus bas.
    0
  7. Utilisateur anonyme
     
    S'il y a un ; au début de la ligne, c'est que la ligne est en commentaire...
    Enlève le ;
    0
    1. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      que je l'enlève ou non ça ne change rien malheureusement
      0
    2. Jeremou51 Messages postés 42 Statut Membre 1
       
      Après avoir enlevé le ; as tu fait un restart du service ?
      0
    3. Utilisateur anonyme
       
      As-tu redémarré Apache ?
      0
    4. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      oui j'ai tout redémarrer même l'ordi
      0
  8. Utilisateur anonyme
     
    1 - Après avoir supprimé le ; et redémarré Apache, le message d'erreur était-il toujours Call to undefined function mssql_connect() ?

    2 - Quelle version de PHP as-tu ? Je doute que tu aies une version sans support mssql, alors que la ligne ;extension=php_mssql.dll était présente dans ton php.ini.
    0
    1. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      ma version php est 5.3.13
      0
    2. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      au pire peut ton connecter sql serveur avec des pdo
      et si oui comment faire ? jusqu'a présent j'ai toujour bosser avec des base de donnée en localhost
      0
  9. Utilisateur anonyme
     
    PDO ne s'oppose pas à localhost, ce n'est pas le problème.
    Dans le manuel PHP, il proposent cette solution :
    https://docs.microsoft.com/en-us/sql/connect/php/microsoft-php-driver-for-sql-server?redirectedfrom=MSDN&view=sql-server-ver15
    Je ne peux que t'inviter à la suivre.

    Enfin si, je peux te proposer autre chose mais je ne sais pas si c'est acceptable pour ton application : ne peux-tu pas transférer le contenu de ta base MS SQL vers une base mySQL, pour laquelle tu auras tous les outils et le support en PHP ?
    0
    1. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      au départ c'est ce que je pensais faire transforme le mssql en mysql mais le problème c que je fais cette application en stage dans une entreprise et il est plus simple pour eux de garder la structure actuelle de la base de données
      0
    2. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      je vais voir cela j'ai fait un test avec ces codes la mais j'ai un message d'erreur, vous verrez peut être mieux que moi d'ou viens le probleme:
      apparement le probleme viendrai dla ligne include "/pdo/pdo_connect.php"; mais je reste sans voix

      <?php
      include "/pdo/pdo_connect.php";

      function readAllContact()
      {
      $pdo= open();
      $query = 'SELECT *nom_contact FROM contact;';
      $cursor = $pdo->query($query);
      $lescontacts = $cursor->fetchAll();
      return $lescontacts;
      }

      ?>

      et voici le code que j'ai mis pour me connecter a la base de donnée

      <?php
      function open()
      {
      try {
      $connStr =new PDO("sqlsrv:Server=SRVTest;Database=woutils");;
      $arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
      $pdo = new PDO($connStr, 'admin', 'password', $arrExtraParam);
      $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      return $pdo;
      }
      catch(PDOException $e) {
      $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
      die($msg);
      }

      }



      ?>
      0
  10. Utilisateur anonyme
     
    j'ai un message d'erreur
    Il ne sert pas à grand chose de dire que tu as un message d'erreur : il faut recopier le message.
    À mon avis, il te dit qu'il ne trouve pas le fichier à inclure /pdo/pdo_connect.php. Tel que tu l'as écrit, ça suppose que ton dossier /pdo est à la racine de ton disque dur, ce dont je doute. Enlève le / avant pdo, si ce dossier est bien un sous-dossier de celui qui contient ton script.
    0
    1. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      oui pardon jai oublier de mettre le messages d'erreur

      ( ! ) Warning: include(/pdo/pdo_connect.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in C:\wamp\www\application_php\pdo\pdo_contact.php on line 2
      Call Stack
      # Time Memory Function Location
      1 0.0062 370720 {main}( ) ..\index.php:0
      2 0.0124 376080 include( 'C:\wamp\www\application_php\pages\lister_contact.php' ) ..\index.php:31
      3 0.0172 380240 include( 'C:\wamp\www\application_php\pdo\pdo_contact.php' ) ..\lister_contact.php:3

      ( ! ) Warning: include() [<a href='function.include'>function.include</a>]: Failed opening '/pdo/pdo_connect.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\application_php\pdo\pdo_contact.php on line 2
      Call Stack
      # Time Memory Function Location
      1 0.0062 370720 {main}( ) ..\index.php:0
      2 0.0124 376080 include( 'C:\wamp\www\application_php\pages\lister_contact.php' ) ..\index.php:31
      3 0.0172 380240 include( 'C:\wamp\www\application_php\pdo\pdo_contact.php' ) ..\lister_contact.php:3

      ( ! ) Fatal error: Call to undefined function open() in C:\wamp\www\application_php\pdo\pdo_contact.php on line 6
      Call Stack
      # Time Memory Function Location
      1 0.0062 370720 {main}( ) ..\index.php:0
      2 0.0124 376080 include( 'C:\wamp\www\application_php\pages\lister_contact.php' ) ..\index.php:31
      3 0.0211 379504 readAllContact( ) ..\lister_contact.php:5
      0
  11. Utilisateur anonyme
     
    1 - S'il te plaît utilise le bouton 'Répondre' pour répondre : une réponse n'est pas un commentaire.
    2 - Pourquoi ne tiens-tu pas compte de toute ma réponse ? Je t'avais expliqué que l'erreur était probablement celle-là, et comment y remédier : qu'as-tu fait de ces indications ? C'est pénible pour moi de toujours rappeler ce que je disais dans le message précédent.
    0
  12. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     
    j'ai enlever le / comme tu le disais mais ca ne change rien du tout
    j'ai tout fait rien ne marche -_-
    0
  13. Utilisateur anonyme
     
    Tu l'as enlevé pour me faire plaisir ou tu as compris pourquoi je te le demandais ? Car tu ne devrais rien faire sans comprendre pourquoi : je ne suis pas devant ton PC, je ne sais pas comment sont organisés tes répertoires. J'essaye de deviner et de te guider, mais toi tu DOIS comprendre ce que tu fais pour adapter mes suggestions.

    C'est à TOI et pas à moi de savoir où se trouve ton fichier à inclure par rapport à ton script, et d'écrire le chemin en conséquence. Ce n'est pas un problème de base de données, ça, c'est du PHP tout simple.
    0
  14. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     
    bah on va dire que j'ai encore du mal avec tout ça....
    je comprend oui mais peut être pas tout completement...
    0
  15. Utilisateur anonyme
     
    Du mal avec tout quoi ? Il s'agit simplement - pour le message "failed to open stream:" - de savoir où se trouve ton fichier et d'écrire le chemin d'accès correctement.
    0
  16. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     
    mon dossier est composer de la facon suivante
    dans un dossier application php on a :
    - 1 dossier pages ou il se trouve toute les pages de l'application
    -1 dossier pdo pour tout ce qui concerne les requete sql
    et un index.php
    0
  17. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     
    bon j'ai tout remis dans un seul et même dossier
    la plus d'erreur enfin plus d'erreur si une. elle persiste la sale bête...

    avec ce code la:
    <?php
    function open()
    {
    try {
    $connStr =new PDO("sqlsrv:Server=SRVTest\SQL2008R2;Database=woutils");;
    $arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
    $pdo = new PDO($connStr, 'sa', 'p', $arrExtraParam);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    return $pdo;
    }
    catch(PDOException $e) {
    $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
    die($msg);
    }

    }

    ?>
    le message d'erreur est ERREUR PDO dans C:\wamp\www\genesys\connexion.php L.5 : could not find driver

    bon est avec ce code ci (code du départ)
    <?php

    // Le serveur est au format : <hôte>\<nom d'instance> ou
    // <serveur>,<port> quand on utilise un port différent de celui par défaut
    $server = 'SRVTest\SQL2008R2';

    // Connexion à MSSQL
    $link = mssql_connect($server, 'sa', 'p');

    if(!$link) {
    die('Erreur de connexion à MSSQL');
    }
    ?>

    le message d'erreur est ( ! ) Fatal error: Call to undefined function mssql_connect() in C:\wamp\www\genesys\connexion.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0049 368024 {main}( ) ..\index.php:0
    2 0.0088 371304 include( 'C:\wamp\www\genesys\rechercher_contact.php' ) ..\index.php:30
    3 0.0129 375432 include( 'C:\wamp\www\genesys\requetecontact.php' ) ..\rechercher_contact.php:8
    4 0.0167 378232 include( 'C:\wamp\www\genesys\connexion.php' ) ..\requetecontact.php:2
    0
    1. louveteau_informatique Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      une idée??
      0