PHP是一種十分流行的開源高級編程語言,許多網(wǎng)站的后臺都是采用的這種語言進行開發(fā)的。在PHP的開發(fā)過程中,數(shù)據(jù)庫是一個非常重要的方面,目前市場上使用最廣泛的數(shù)據(jù)庫之一就是Microsoft SQL Server。
在PHP中,使用SQL Server數(shù)據(jù)庫需要借助Microsoft提供的PHP擴展包--sqlsrv。通過使用sqlsrv擴展包,可以高效地連接、操作和管理SQL Server數(shù)據(jù)庫。
使用sqlsrv擴展包,需要在PHP代碼中引入該擴展,可以通過以下方式來實現(xiàn):
//引入sqlsrv擴展 <?php extension=php_sqlsrv.dll; ?>
在引入sqlsrv擴展后,就可以通過內(nèi)置的函數(shù)來連接SQL Server數(shù)據(jù)庫,以下是一個連接到SQL Server數(shù)據(jù)庫的簡單示例:
//連接數(shù)據(jù)庫 <?php $serverName = "localhost"; //服務(wù)器名稱或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)); } ?>
除了連接數(shù)據(jù)庫外,sqlsrv擴展還提供了一系列的函數(shù)用于執(zhí)行SQL語句。其中,sqlsrv_query()和sqlsrv_prepare()兩個函數(shù)是最常用的。
sqlsrv_query()是用于執(zhí)行一條SQL語句的函數(shù),以下是一個實際應(yīng)用的例子:
//執(zhí)行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歲的人,并打印出他們的姓名和年齡。
如果要執(zhí)行的SQL語句是帶有占位符的,那么就需要使用sqlsrv_prepare()函數(shù)進行預(yù)處理。以下是一個實際應(yīng)用的例子:
//預(yù)處理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數(shù)據(jù)庫,讓PHP開發(fā)更加高效。