久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      php7如何使用PDO連接數(shù)據(jù)庫(kù)

      在php中,可以使用pdo連接數(shù)據(jù)庫(kù),但不一定每個(gè)人都知道同時(shí)兼容windows和centos的方法,下面就來(lái)介紹一下使用PDO連接,同時(shí)兼容windows和centos的方法,有需要的可以看看。

      php7如何使用PDO連接數(shù)據(jù)庫(kù)

      一、首先是windows安裝擴(kuò)展

      7.0.x的擴(kuò)展下載地址:

      Microsoft Drivers for PHP for SQL Server https://www.microsoft.com/en-us/download/details.aspx?id=20098

      ODBC Driver:

      Microsoft? ODBC Driver 11 for SQL Server? – Windows (支持Sql Server? 2005) https://www.microsoft.com/zh-CN/download/details.aspx?id=36434

      Microsoft? ODBC Driver 13 for SQL Server? – Windows + Linux (支持最新的SQL Server? 2016) https://www.microsoft.com/zh-CN/download/details.aspx?id=50420

      安裝配置:

      下載SQL Server的PHP擴(kuò)展(Microsoft Drivers for PHP for SQL Server),連接里有多個(gè)文件,只需要下載 SQLSRV40.EXE 即可。

      解壓后根據(jù)自己PHP的版本選擇32位或64位的擴(kuò)展,注意區(qū)分(Thread safe?)nts和ts。

      復(fù)制擴(kuò)展需要的文件到PHP擴(kuò)展目錄。(例如我這里使用的是:php_pdo_sqlsrv_7_ts_x64.dll 和 php_sqlsrv_7_ts_x64.dll)

      修改php.ini添加以下兩行來(lái)啟用擴(kuò)展:

      extension=php_sqlsrv_7_ts_x64.dll extension=php_pdo_sqlsrv_7_ts_x64.dll

      安裝ODBC Driver,根據(jù)自己的需要選擇上面的地址下載并安裝。

      現(xiàn)在可以使用phpinfo()來(lái)查看是否成功加載了 pdo_sqlsrv 模塊。

      二、Centos安裝擴(kuò)展

      前提貌似文檔說(shuō)一定要PHP7以后的版本,以前很多都是第三方FreeTDS,再怎么搞也沒(méi)有微軟官方的穩(wěn)定吧!

      1、加入微軟的源

      curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo

      2、防止沖突先卸載原有版本(可選)

      yum remove unixODBC

      3、安裝驅(qū)動(dòng)(三個(gè)都要裝上,缺一不可)

      yum install msodbcsql mssql-tools unixODBC-devel

      4、下載pdo_sqlsrv擴(kuò)展包

      http://pecl.php.net/package/pdo_sqlsrv

      5、以4.3.8為例

      tar -zxvf pdo_sqlsrv-4.3.8.tgz

      6、進(jìn)入解壓目錄

      cd pdo_sqlsrv-4.0.8

      7、執(zhí)行PHP的一個(gè)擴(kuò)展命令

      /usr/local/php/bin/phpize

      8、編譯

      ./configure --with-php-config=/usr/local/php/bin/php-config

      9、安裝

      make && make install

      10、修改/usr/local/php/etc/php.ini 添加extension

      extension = "pdo_sqlsrv.so"

      11、重啟php-fpm和nginx,大功告成

      下面我重點(diǎn)說(shuō)我的踩坑記錄:

      windows安裝完后,2種方式調(diào)用,我最開(kāi)始用的sqlsrv_connect方式,能成功調(diào)用,具體的api參考這里。

      https://docs.microsoft.com/en-us/sql/connect/php/sqlsrv-driver-api-reference

      但是上面的安裝方法,Centos服務(wù)器最終是只安裝pdo_sqlsrv.so的。所以只能采用另外一種pdo方式調(diào)用,才是通用的。

      https://github.com/Microsoft/msphpsql/edit/master/sample/pdo_sqlsrv_sample.php
      <?php     echo "n";     $serverName = "tcp:yourserver.database.windows.net,1433"; 	$database = "yourdatabase"; 	$uid = "yourusername"; 	$pwd = "yourpassword"; 	 	 //Establishes the connection 	 $conn = new PDO( "sqlsrv:server=$serverName ; Database = $database", $uid, $pwd); 	  	 //Select Query 	 $tsql = "SELECT [CompanyName] FROM SalesLT.Customer"; 	  	 //Executes the query 	 $getProducts = $conn->query( $tsql ); 	  	 //Error handling 	 FormatErrors ($conn->errorInfo()); 	  	 $productCount = 0; 	 $ctr = 0; 	 ?>  	  	 <h1> First 10 results are : </h1> 	  	 <?php 	 while($row = $getProducts->fetch(PDO::FETCH_ASSOC)) 	 { 		 if($ctr>9) 			 break;  		 $ctr++; 		 echo($row['CompanyName']); 		 echo("<br/>"); 		 $productCount++; 	 } 	 $getProducts = NULL; 	  	 $tsql = "INSERT INTO SalesLT.Product (Name, ProductNumber, StandardCost, ListPrice, SellStartDate) OUTPUT INSERTED.* VALUES ('SQL New 1', 'SQL New 2', 0, 0, getdate())"; 	  	 //Insert query 	 $insertReview = $conn->query( $tsql ); 	 FormatErrors ($conn->errorInfo()); 	 ?>  	  	 <h1> Product Key inserted is :</h1>  	  	 <?php 	 while($row = $insertReview->fetch(PDO::FETCH_ASSOC)) 	 { 		 echo($row['ProductID']."<br/>"); 	 } 	 $insertReview = NULL; 	  	 //Delete Query 	 //We are deleting the same record 	 $tsql = "DELETE FROM [SalesLT].[Product] WHERE Name=?"; 	 $param = "SQL New 1"; 	  	 $deleteReview = $conn->prepare($tsql); 	 $deleteReview->bindParam(1, $param); 	  	 $deleteReview->execute(); 	 FormatErrors ($deleteReview->errorInfo()); 	  	 function FormatErrors( $error ) 	 { 	    /* Display error. */ 	    echo "Error information: <br/>"; 	  	    echo "SQLSTATE: ".$error[0]."<br/>"; 	    echo "Code: ".$error[1]."<br/>"; 	    echo "Message: ".$error[2]."<br/>"; 	 } ?>

      推薦學(xué)習(xí):php視頻教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)