mysql 連線資料庫
1. 連結資料庫
$conn = @new mysqli("127.0.0.1","root","","mydb");
if($conn->connect_errno){ //返回連結錯誤號
// 返回連結錯誤資訊
die("資料庫連結失敗:".$conn->connect_error);
}
2. 選擇資料庫
$conn->select_db("mydb") or die("選擇資料庫失敗:".$conn->error);
3.設定字符集編碼
$conn->set_charset("utf8") or die("設定字符集失敗:".$conn->error);
4. 準備SQL語句
$sql = <<<sql
select * from tb1;
sql;
5. 執行SQL語句,返回結果集或者布林型別true/false
$res = $conn->query($sql);
6. 返回結果集中的欄位數
var_dump($res->field_count);
返回結果集中的總行數
var_dump($res->num_rows);
7. 返回關聯陣列和索引陣列
var_dump($res->fetch_array());
返回索引陣列
var_dump($res->fetch_row());
返回關聯陣列
var_dump($res->fetch_assoc());
返回一個物件
var_dump($res->fetch_object());
8. 將結果集指標移到指定位置
$res->data_seek(0);
9. 返回結果集中的一個欄位,並將指標移到下一列
var_dump($res->fetch_field());
直接返回結果集中的所有欄位
var_dump($res->fetch_fields());
10.釋放結果集資源
$res->close();// $res->free();
關閉資料庫連線
$conn->close();
二、面向過程
1.連線資料庫
@ $conn = mysqli_connect("127.0.0.1", "root", "slk5550123", "mydb");
if(mysqli_connect_error($conn)){ //返回錯誤資訊
exit("資料庫連線失敗,失敗號".mysqli_connect_errno($conn)."失敗資訊:".mysqli_connect_error($conn));
}
連線資料庫同時判斷
@ $conn = mysqli_connect("127.0.0.1","root","slk55501233","mydb") or die("資料庫連線失敗,失敗資訊:".mysqli_connect_error($conn));
連線資料庫: mysqli_connect
引數: ① 主機地址 ②MySql使用者名稱 ③MySql密碼 ④選擇連結的資料庫 ⑤埠號
返回: 如果連結成功,返回資源型別的識別符號號
如果連線失敗,返回false
如果有MySql建立的連線不止一條,那麼以後操作資料庫的各種函式,都必須傳入返回的連線符號。
如果與MySql建立的連線只有一條,那麼以後操作資料庫的各種函式就不必傳入這個識別符號號
3. 選擇資料庫mysqli_select_db
引數: ① 資源表示符 ②選擇的資料庫名稱
返回: 連線成功返回true,連線失敗返回false
如果修改資料庫成功,則資源識別符號中的資料庫就會發生變更
如果修改失敗,而沒有通過程式碼終止操作,則後續程式碼可以使用原資料庫繼續執行。
//選擇資料庫同時判斷
mysqli_select_db($conn,"mydb") or die("資料庫選擇失敗");
4.設定字符集編碼
mysqli_set_charset($conn,"utf8");
//只能是utf8,而不能使utf-
5.編寫sql語句
$sql = "select * from tb1";
6. 執行sql語句
如果是增刪改,將返回bool型別 表示是否成功 DML
如果是查詢,將返回資源結果集 DQL
如果查詢失敗,返回false
$res = mysqli_query($conn,$sql);$res = mysqli_query($conn,$sql);
7.返回資料庫中操作影響的行數及插入語句的ID
DML時: 返回上一次操作時,受影響的行數
var_dump(mysqli_affected_rows($conn));
執行插入語句時,返回上次最新插入的主鍵id
var_dump(musqli_insert_id($conn))
DQL時,返回資源結果集中的行數
mysqli_num_rows($res);
DQL時,返回資源結果集中的欄位數
mysqli_num_fields($res);
8. 處理結果集,返回關聯陣列和索引陣列
引數: ① 需要處理的結果集
② 返回那種陣列格式,mysqli_assoc - 關聯陣列
mysql_num 數字陣列
mysql_both 預設,同時產生關聯和數字陣列
返回關聯陣列
//mysqli_fetch_assoc($result)
返回索引陣列
//mysqli_fetch_row($result)
返回一個物件
//mysqli_fetch_object($result)
9.返回結果集中的一個欄位,並將指標移到下一列
mysqli_data_seek:設定結果集指標位置
mysqli_data_seek($res, 0);
返回結果集中每一列欄位的資訊(欄位名、表名、資料庫名、欄位型別、長度等)*/
mysqli_fetch_field($res);
10.釋放查詢資源結果集並關閉資料庫連線
mysql_free_result($res);
關閉資料庫連線
mysql_close($conn);