介紹
PHP是一種非常流行的編程語(yǔ)言,它有著比較好的可移植性和開發(fā)效率。而SQL Server是微軟提供的一款關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它常被用在企業(yè)級(jí)的軟件中。在PHP和SQL Server的結(jié)合中,開發(fā)人員可以開發(fā)出高效、可靠、易于維護(hù)的應(yīng)用程序,本文就結(jié)合PHP7和SQL Server來(lái)闡述如何使用PHP進(jìn)行數(shù)據(jù)操作。
SQL Server連接
使用PHP進(jìn)行數(shù)據(jù)庫(kù)操作首先需要連接數(shù)據(jù)庫(kù),下面是一段連接SQL Server的代碼:
<?php $serverName = "serverName\sqlexpress"; $connectionInfo = array( "Database"=>"databaseName", "UID"=>"username", "PWD"=>"password"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established."; }else{ echo "Connection could not be established."; die( print_r( sqlsrv_errors(), true)); } ?>
在代碼中我們傳入了參數(shù)$serverName(服務(wù)器名稱)和$connectionInfo(數(shù)據(jù)庫(kù)連接信息)到sqlsrv_connect()方法即可成功連接到SQL Server完成與數(shù)據(jù)庫(kù)的連接。在連接失敗時(shí),方法sqlsrv_errors()將會(huì)返回對(duì)連接的錯(cuò)誤信息。
SQL Server查詢
在SQL Server中獲取數(shù)據(jù)可以使用sqlsrv_query()方法來(lái)完成查詢,下面是一段查詢代碼:
<?php $sql = "SELECT * FROM table_name"; $stmt = sqlsrv_query( $conn, $sql); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); }else{ $data = array(); while( $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) ) { $data[] = $row; } sqlsrv_free_stmt( $stmt); return $data; } ?>
這段代碼首先在查詢語(yǔ)句中指定要選擇的表(在本例中為table_name),然后使用sqlsrv_query()方法提交查詢以獲取查詢結(jié)果的結(jié)果集。我們使用while循環(huán)將結(jié)果集中的每一行數(shù)據(jù)添加到$data數(shù)組中,最后使用sqlsrv_free_stmt()方法釋放該結(jié)果集,最后將$data數(shù)組返回。
SQL Server插入和更新
向數(shù)據(jù)庫(kù)中插入新數(shù)據(jù)和更新數(shù)據(jù)均可以使用sqlsrv_prepare()方法來(lái)完成,下面是一個(gè)插入代碼示例:
<?php $sql = "INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?)"; $params = array('value1', 'value2', 'value3'); $stmt = sqlsrv_prepare( $conn, $sql, $params); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); } if(sqlsrv_execute($stmt) === false){ die( print_r( sqlsrv_errors(), true)); }else{ echo "Data inserted successfully"; } ?>
這段代碼中,我們首先定義插入數(shù)據(jù)的準(zhǔn)備語(yǔ)句,其中?符號(hào)為數(shù)據(jù)占位符。然后使用sqlsrv_prepare()方法提交這個(gè)準(zhǔn)備語(yǔ)句和參數(shù)列表。如果準(zhǔn)備語(yǔ)句提交失敗,我么就使用sqlsrv_errors()方法打印出錯(cuò)誤信息。如果準(zhǔn)備語(yǔ)句提交成功,我們就可以使用sqlsrv_execute()方法來(lái)執(zhí)行該語(yǔ)句并輸出成功執(zhí)行的信息。
SQL Server刪除
刪除表中的記錄可以使用sqlsrv_prepare()方法來(lái)完成,下面是一個(gè)刪除代碼示例:
<?php $sql = "DELETE FROM table_name WHERE column_name = ?"; $params = array('value_to_delete'); $stmt = sqlsrv_prepare( $conn, $sql, $params); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); } if(sqlsrv_execute($stmt) === false){ die( print_r( sqlsrv_errors(), true)); }else{ echo "Record deleted successfully"; } ?>
這段代碼中我們定義刪除記錄的語(yǔ)句,其中?符號(hào)為數(shù)據(jù)占位符,然后使用sqlsrv_prepare()方法提交該刪除語(yǔ)句和參數(shù)列表。如果準(zhǔn)備語(yǔ)句提交失敗,我么就使用sqlsrv_errors()方法打印出錯(cuò)誤信息。如果準(zhǔn)備語(yǔ)句提交成功,我們就可以使用sqlsrv_execute()方法來(lái)執(zhí)行該語(yǔ)句并輸出成功執(zhí)行的信息。
總結(jié)
在PHP7中,使用sqlsrv模塊可以方便地連接和操作SQL Server數(shù)據(jù)庫(kù),提高了應(yīng)用程序的性能和可靠性。在我們的示例中,我們提供了一些與數(shù)據(jù)庫(kù)連接、查詢、插入、更新和刪除有關(guān)的示例代碼,希望可以為大家的開發(fā)工作提供參考價(jià)值。