PHP是一種十分流行的開源高級編程語言,許多網站的后臺都是采用的這種語言進行開發的。在PHP的開發過程中,數據庫是一個非常重要的方面,目前市場上使用最廣泛的數據庫之一就是Microsoft SQL Server。
在PHP中,使用SQL Server數據庫需要借助Microsoft提供的PHP擴展包--sqlsrv。通過使用sqlsrv擴展包,可以高效地連接、操作和管理SQL Server數據庫。
使用sqlsrv擴展包,需要在PHP代碼中引入該擴展,可以通過以下方式來實現:
//引入sqlsrv擴展 <?php extension=php_sqlsrv.dll; ?>
在引入sqlsrv擴展后,就可以通過內置的函數來連接SQL Server數據庫,以下是一個連接到SQL Server數據庫的簡單示例:
//連接數據庫 <?php $serverName = "localhost"; //服務器名稱或IP地址 $connectionInfo = array( "Database"=>"SampleDB", "UID"=>"sa", "PWD"=>"password"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "連接成功!"; }else{ echo "連接失敗!"; die( print_r( sqlsrv_errors(), true)); } ?>
除了連接數據庫外,sqlsrv擴展還提供了一系列的函數用于執行SQL語句。其中,sqlsrv_query()和sqlsrv_prepare()兩個函數是最常用的。
sqlsrv_query()是用于執行一條SQL語句的函數,以下是一個實際應用的例子:
//執行SQL語句 <?php $sql = "SELECT * FROM tbl_person WHERE age > ?"; $params = array(20); $stmt = sqlsrv_query( $conn, $sql, $params); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); } while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) { echo $row['name'].", ".$row['age']."<br>"; } sqlsrv_free_stmt( $stmt); sqlsrv_close( $conn); ?>
在上面的示例中,我們查詢了一張名為tbl_person的表,篩選出年齡大于20歲的人,并打印出他們的姓名和年齡。
如果要執行的SQL語句是帶有占位符的,那么就需要使用sqlsrv_prepare()函數進行預處理。以下是一個實際應用的例子:
//預處理SQL語句 <?php $sql = "INSERT INTO tbl_person (name, age) VALUES (?, ?)"; $params = array("Bob", 25); $stmt = sqlsrv_prepare( $conn, $sql, $params); if( !$stmt ) { die( print_r( sqlsrv_errors(), true)); } if( sqlsrv_execute( $stmt ) === false ) { die( print_r( sqlsrv_errors(), true)); } echo "添加成功!"; sqlsrv_free_stmt( $stmt); sqlsrv_close( $conn); ?>
在上面的示例中,我們向tbl_person表中插入一條姓名為Bob、年齡為25歲的記錄,并顯示添加成功信息。
總的來說,使用sqlsrv擴展包可以更輕松地連接、操作和管理SQL Server數據庫,讓PHP開發更加高效。