https://blog.csdn.net/xia13100004562/article/details/58598872
2016年12月19日 17:15:39
前面已經基本配置了sqlserver的環境,現在就用學習一下如何去操作數據庫!!其實方法還是比較簡單,可以參考一下mysql,盡量去跟mysql進行比較
1、學習的方法,最好是看手冊
在前一篇文章中涉及到了連接數據庫sqlsrv_connect();還記得我們mysql連接數據庫的時候也是mysql_connect();兩者操作數據庫是很相似的。從零基礎開始學起的話,只能是查閱手冊。查看一下sqlsrv有哪些函數提供我們使用!推薦網址是:http://php.net/manual/zh/index.php
【注意】很多的方法都跟mysql提供的方法很相似,看到后面的函數名就大概知道里面的用法,比如說mysql執行sql語句的時候調用mysql_query();而sqlserver執行sql語句的時候調用也是sqlsrv_query(),但是特別注意一點就是,它們的傳遞參數不一樣。詳細的只能看一下手冊。接下來我簡單總結一下操作數據的方法
2、連接數據庫sqlsrv_connect()
<?php $serverName = "serverName\sqlexpress";//服務器的名字,本地localhost $connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established.<br />"; }else{ echo "Connection could not be established.<br />"; die( print_r( sqlsrv_errors(), true)); }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
3、操作數據庫
1)執行sql語句sqlsrv_query(),返回值為true或者false,這里函數的用法跟mysql_query(),不一樣。它需要把連接的資源句柄當作參數傳進去,看源碼。資源句柄就是上面代碼連接數據庫的“$conn”。
$sql = "select * from test1"; //sql語句 $data = sqlsrv_query($conn,$sql); //$conn資源句柄 if($data == true){ die("執行成功"); }else{ die("執行失敗"); }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2)獲取結果集
//以數值索引數組、關聯數組或這兩種數組的形式檢索下一行的數據。類似於mysql_fetch_array sqlsrv_fetch_array //以對象形式檢索下一行的數據。 sqlsrv_fetch_object
- 1
- 2
- 3
- 4
$sql = "select * from test1"; $data = sqlsrv_query($conn,$sql); if($data == true){ while($row = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) { echo $row['id'].", ".$row['name']."<br />"; }else{ die( print_r( sqlsrv_errors(), true)); } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
$sql = "SELECT fName, lName FROM Table_1"; $stmt = sqlsrv_query( $conn, $sql); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); } while( $obj = sqlsrv_fetch_object( $stmt)) { echo $obj->fName.", ".$obj->lName."<br />"; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
3)顯示錯誤信息sqlsrv_errors():上面都有用到這個函數,只要是操作數據庫發生錯誤,都可以使用這個函數打印出來看一下壓
這里就不用上代碼了