1. 程式人生 > >【php】php操作MySQL數據庫

【php】php操作MySQL數據庫

style 錯誤信息 庫服務器 例如 sql conn 指定 spa 布爾

一、操作步驟:
1. 連接MySQL數據庫並判斷是否連接成功
2. 選擇數據庫
3. 設置字符集
4. 準備SQL語句
5. 向MySQL服務發送SQL語句
6. 解析處理結果集
7. 釋放結果集,關閉數據庫連接

二、常用操作:
1. mysqli_connect();--連接數據庫,並返回一個連接資源
格式: mysql_connect(主機名,用戶,密碼);
--其中參數可選,若不寫則參考php.ini中默認配置

2. mysqli_error(); --獲取剛剛(最後)執行數據庫操作的錯誤信息

3. mysqli_errno(); --獲取剛剛(最後)執行數據庫操作的錯誤號
錯誤號為0表示沒有錯誤

4. mysqli_select_db(數據庫名[,數據庫連接]);
選擇一個數據庫,等同於"use 庫名"語句

5. mysqli_set_charset(字符編碼); --設置字符編碼
例如:mysql_set_charset("utf8"); 等同於:mysql_query("set names utf8");

6. mysqli_query(sql語句[,數據庫連接]); -- 發送一條sql語句
sql語句若是查詢,則返回結果集,其他則返回boolean值表示執行是否成功。

7. 解析結果集函數:
mysqli_fetch_array(); --以關聯和索引兩種方式數組解析結果集
也可以指定第二參數來定義返回格式:
MYSQL_BOTH(0關聯和索引)/MYSQL_NUM(2索引)/MYSQL_ASSOC(1關聯)

mysqli_fetch_row(); --以索引式數組解析結果集
*mysqli_fetch_assoc(); --以關聯式數組解析結果集
mysqli_fetch_object(); --以對象方式解析結果集

8. mysqli_free_result(結果集名); --釋放結果集

9. mysqli_close(數據庫連接); --關閉數據庫連接

10. mysqli_num_rows(結果集); --獲取結果集中的數據條數

11. mysqli_num_fields(結果集); --獲取結果集中的列數(字段數量)

12. mysqli_result(); --定位取結果
echo mysql_result($result,0,3)."<br/>"; //獲取第1條數據的第4列中的值
echo mysql_result($result,1,2)."<br/>"; //獲取第2條數據的第3列中的值
echo mysql_result($result,5,4)."<br/>"; //獲取第6條數據的第5列中的值

13.mysqli_affected_rows — 取得前一次 MySQL 操作所影響的記錄行數
關聯的 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數。

14. mysqli_insert_id — 取得上一步 INSERT 操作產生的 ID

 1 //在php當中操作mysql數據庫的六脈神劍
 2 
 3 //1.連接數據庫服務器,並判斷是否成功    mysqli_connect(服務器地址,用戶名,密碼[,數據庫名]);
 4 $link = mysqli_connect(‘localhost‘,‘root‘,‘‘);
 5 
 6 //2.設置字符集    mysqli_set_charset(數據庫服務器對象,要設置的編碼類型);
 7 mysqli_set_charset($link,‘utf8‘);
 8 
 9 //3.選擇數據庫    mysqli_select_db(數據庫服務器對象,數據庫服務器中的指定的數據庫名);
10
mysqli_select_db($link,‘lamp183‘); 11 12 //4.輸入增、刪、改、查sql語句,並發送執行 mysqli_query(數據庫服務器對象,sql語句); 13 $sql = ‘select * from stu‘; 14 $result = mysqli_query($link,$sql); 15 var_dump($result); 16 17 //5.解析結果集 mysqli_num_rows(query發送sql語句之後的對象結果集),會得到查詢出數據的總條數; 18 if($result!=false && mysqli_num_rows
($result)>0){ 19 20 //遍歷獲取每一條數據的數組 mysqli_fetch_assoc(query發送sql語句之後的對象結果集),會得到每一條數據的數組 21 while($rows = mysqli_fetch_assoc($result)){ 22 var_dump($rows); 23 } 24 } 25 26 //6.關閉數據庫,釋放結果集 27 mysqli_free_result($result); 28 mysqli_close($link);
 1 //六脈神劍操作數據庫
 2 
 3 //1.連接數據庫服務器,並判斷
 4 $link = mysqli_connect(‘localhost‘,‘root‘,‘‘)or die(‘數據庫連接失敗!‘);
 5 
 6 //2.設置字符集
 7 mysqli_set_charset($link,‘utf8‘);
 8 
 9 //3.選擇數據庫
10 mysqli_select_db($link,‘lamp183‘);
11 
12 //4.定義增、刪、改sql語句,並發送執行
13 
14     //定義添加數據的sql語句(發送之後返回布爾型真或假)
15     $sql = "insert into stu (name) values (‘jingfei‘)";
16     $bool = mysqli_query($link,$sql);
17     
18     //獲取上一條插入成功的數據的id號
19     $id = mysqli_insert_id($link);
20     
21     //定義刪除數據的sql語句
22     $sql = "delete from stu where id=2";
23     $bool = mysqli_query($link,$sql);
24     
25     //定義修改數據的sql語句
26     $sql = "update stu set name=‘haibo‘ where name=‘haibo‘";
27     $bool = mysqli_query($link,$sql);
28     
29 //5.判斷是否執行成功    mysqli_affected_rows(對象結果集):返回增刪改sql語句執行成功之後的影響行數,如果失敗返回-1
30 if($bool!=false && mysqli_affected_rows($link)>0){
31     echo "<script>alert(‘恭喜,添加成功!‘);window.location.href=‘3.php‘</script>";
32 }
33 
34 //6.關閉數據庫
35 mysqli_close($link);

【php】php操作MySQL數據庫