1.下載sqlserver擴展
https://www.microsoft.com/en-us/download/details.aspx?id=20098
解壓到
\phpStudy\PHPTutorial\php\php-7.2.1-nts\ext
php.int
extension=php_pdo_sqlsrv_72_nts_x64.dll
extension=php_sqlsrv_72_nts_x64.dll
安裝 msodbcsql.msi
這貨要按照 64位
https://www.microsoft.com/en-us/download/details.aspx?id=36434
不然報錯
This extension requires the Microsoft ODBC Driver for SQL Server. Access the following URL to download the ODBC Driver for SQL Server for x64
代碼:sqlcon.php
$serverName = "localhost"; $connectionInfo = array( "Database"=>"DBWMS", "UID"=>"sa", "PWD"=>"123123"); $conn = sqlsrv_connect( $serverName, $connectionInfo ); if( $conn === false ) { die( print_r( sqlsrv_errors(), true)); } if( $conn === false ) { echo "Unable to connect."; die(var_dump(sqlsrv_errors(), true)); }
header("Content-type: text/html; charset=utf-8"); include "sqlcon.php"; $order = $_POST['OrderNum']; //$order = "TY20171121103652803442"; $sql = "SELECT ID,ExpressNum,OrderNum,NetWeight,GrossWeight FROM dbo.St_UserOrder where OrderNum= '{$order}'"; $stmt = sqlsrv_query( $conn, $sql ); $stmt = sqlsrv_fetch_array($stmt); echo json_encode($stmt);
INSERT INTO 語句
INSERT INTO 語句用於向表格中插入新的行。
語法
INSERT INTO 表名稱 VALUES (值1, 值2,....)
我們也可以指定所要插入數據的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
php通過pdo連接sql sqlserver
public function __construct()
{
$dbName = "sqlsrv:Server=Localhost;Database=tset";
$dbUser = "sa";
$dbPassword = "root";
$this->pdo = new PDO($dbName, $dbUser, $dbPassword);
}
對比
mysql
$this->b = $config;
$this->pdo = new PDO('mysql:host=Localhost;port=3301;dbname=test', "123123", "123123");
}
雙引號引發的
$sth = $this->pdo->prepare('SELECT * FROM xxx WHERE id =:id');//雙引號失效
sql sever
SELECT * FROM `pmw_St_UserOrder` WHERE id = :id
mysql
SELECT * FROM `pmw_St_UserOrder` WHERE id = :id
$sth->execute(array(':id'=>'1'));
$results = $sth->fetchAll(PDO::FETCH_ASSOC);