1. 程式人生 > >mysql 連線資料庫

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);