Maison  >  Article  >  développement back-end  >  PHP se connecte à l'instance de base de données MSSQL (SQLSRV)

PHP se connecte à l'instance de base de données MSSQL (SQLSRV)

小云云
小云云original
2018-03-05 13:12:373557parcourir

La connexion PHP à la base de données MSSQL2008/2005 est différente de la connexion précédente à mssql2000. Pour vous connecter à mssql2008/2005, vous devez ajouter une extension de pilote PHP pour la connexion MSSQL, et nous utilisons généralement extension=php_mssql.dll dans hp.ini. L'extension s'applique uniquement aux connexions à MSSQL2000. Examinons la solution à ce problème.

1. Téléchargez l'extension

(1) Accédez au site officiel pour télécharger un package d'extension pour SQL Server Driver pour PHP. Je l'ai téléchargé ici http://www.microsoft.com. /en- us/download/details.aspx?id=20098 [N'oubliez pas qu'après le téléchargement, vous devez d'abord l'installer puis le décompresser]

(2) Vous pouvez également le télécharger directement depuis ce site ( Je l'ai déjà téléchargé, depuis Microsoft Official) [Cliquez ici pour télécharger directement]
Après avoir décompressé le fichier rar téléchargé, vous obtiendrez un tas de fichiers .dll

Téléchargez le pilote et installez le programme de version après téléchargement, qui contient les fichiers suivants :
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_pdo_s 53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_52_nts .dll
php_sqlsrv_52_ts.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
SQL ServerDriverForPHP.chm ( Manuel, si votre anglais est assez bon, vous pouvez lisez-le, hehe)
SQLServerDriverForPHP_License.rtf
SQLServerDriverForPHP_Readme.htm (fichier readme)

2. Ajouter des extensions

Choisissez les extensions en fonction des besoins (vc6/vc9). est WAMP (php5.2.6/apache2.2.8), j'ai choisi les deux fichiers php_sqlsrv_52_ts_vc6.dll et php_pdo_sqlsrv_52_ts_vc6.dll et les ai copiés dans le répertoire ext du répertoire d'installation de wamp. Mon répertoire ext est dans wamp/bin/php/php5. 2.6/ext/

3. Configurez php.ini

(1) Ajoutez les deux extensions suivantes aux extensions dynamiques de php.ini :
extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
( 2) Supprimez le ; devant ;extension=php_pdo.dll et activez l'extension de connexion pdo
(3) Redémarrez Apache

4. Connectez-vous à la base de données ( connexion pdo)

<?php
  $servern="SFKFK27EL8FJ\SQLTRY";
  $coninfo=array("Database"=>"try2","UID"=>"sa","PWD"=>"123");
  $conn=sqlsrv_connect($servern,$coninfo) or die ("连接失败!");
  $val=sqlsrv_query($conn,"select * from usertable");
  while($row=sqlsrv_fetch_array($val)){
    echo $row[1]."<br />";
  }
  sqlsrv_close($conn); 
?>

5. Exemple

Exemple de lien :
le fichier mssql_lib.php est le suivant :

<?php
class DB {
    var $con = null;
    function __construct($dbhost,$dbuser,$dbpass,$dbname) {
        $connectionInfo =  array("UID"=>$dbuser,"PWD"=>$dbpass,"Database"=>$dbname);
        $this->con = sqlsrv_connect($dbhost,$connectionInfo);
    }
    function query($sql){
        $result = sqlsrv_query($this->con, $sql);
    }
    function getRow($sql){
        $result = sqlsrv_query($this->con, $sql);
        $arr = array();
        while($row = sqlsrv_fetch_array($result))
        {
            $arr[] = $row;
        }
        return $arr[0];
    }
    function getAll($sql){
        $result = sqlsrv_query($this->con, $sql);
        $arr = array();
        while($row = sqlsrv_fetch_array($result))
        {
            $arr[] = $row;
        }
        return $arr;
    }
    function __destruct() {
        unset($con);
    }
}

la page test.php est la suivante suit :

//简单调用
$db = new DB(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql = "select * from crm_order_batch where (status=0 or status is null) and lock_id is not null  ";
$orders_add_list = $db->getAll($sql);

Recommandations associées :

Comment utiliser la pagination des données de requête MSSQL,

méthode php pour se connecter vers MSSQL

Commande source de base de données MySQL Explication détaillée_MsSql

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn