跟大家講解下有關PHP 操作 MySQL,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說PHP 操作 MySQL,小編也收集到了有關PHP 操作 MySQL的相關資料,希望大家看到了會喜歡。
這篇文章主要介紹了PHP 操作 MySQL,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
相關mysql視頻教程推薦:《mysql教程》
一、使用PHP連接MySQL數據庫使用PHP函數 mysqli_connect 連接上mysql數據庫 語法:$conn = mysqli_connect('主機名','用戶名','密碼','數據庫名',端口); 連接成功返回資源對象,失敗返回false $conn 稱為【數據庫連接標識】
header("Content-type:text/html;charset=utf-8");$conn = @mysqli_connect('localhost','root','root','student') or die("數據庫連接錯誤!");echo "<pre>";var_dump($conn);echo "</pre>";二、使用PHP訪問MySQL數據庫使用PHP函數 mysqli_query 向MySQL數據庫發送SQL指令去查詢,將MySQL數據庫返回的結果封裝成對象作為函數的返回值。 語法:$result = mysqli_query(數據庫連接標識,SQL指令); $result 稱為【結果集】
三、結果集的處理有兩種結果集,主要區別于當前所執行的SQL指令,是否存在數據返回。
有返回數據:select、show、desc mysqli_query 會返回一個資源類型。執行成功返回結果集,失敗返回 false 注意:由于資源類型永遠為真,不能用于判斷是否有數據,只能判斷命令是否執行成功
無返回數據:insert、delete、update、set、DDL(數據定義語言,如create、alter、drop) mysqli_query 會返回一個布爾值。執行成功返回true,失敗返回 false
使用 mysqli_fetch_assoc 從結果集中讀取數據,將讀取到的數據以關聯數組的形式返回,關聯數組的鍵名就是 字段名 ,同時結果集的指針向下移動一行。 語法:$row = mysqli_fetch_assoc(結果集);
header("Content-type:text/html;charset=utf-8");$conn = @mysqli_connect('localhost','root','root','student') or die("數據庫連接錯誤!");$rs = mysqli_query($conn, 'set names utf8');//設置PHP與MySQL交互默認字符集var_dump($rs);$rs = mysqli_query($conn, 'select * from student');while ($row = mysqli_fetch_assoc($rs)) { echo "<pre>"; var_dump($row); echo "</pre>";}從結果集中得到數據的三個函數:
mysqli_fetch_assoc() 獲取一行數據作為【關聯】數組返回
mysqli_fetch_row() 獲取一行數據作為【索引】數組返回
mysqli_fetch_array() 獲取一行數據作為【關聯】數組和【索引】數組返回
統計結果集中數據的行數 語法:mysqli_num_rows(結果集); 通常用于判斷結果集中是否有數據,如果大于0就證明有數據,等于0就是沒數據。
echo mysqli_num_rows($conn);釋放結果集,釋放結果集所占的內存空間 語法:mysqli_free_result(結果集);
mysqli_free_result($rs);四、關閉數據庫連接語法:mysqli_close(數據庫連接標識); 如不使用 mysqli_close 關閉數據庫連接,PHP默認在代碼執行結束后自動關閉。
mysqli_close($conn);五、其他用法錯誤信息 語法:mysqli_error(數據庫連接標識); 通常用于對錯誤進行調試和查看
echo mysqli_error($conn);獲取剛插入數據的ID 語法:mysqli_insert_id(數據庫連接標識);
六、項目的字符編碼MySQL的字符集 MySQL數據最終是保存在數據庫,表,記錄上的。 數據在真實保存時,受到幾個地方的影響:
字段的編碼
表的編碼
庫的編碼
MySQL服務器的內置編碼
如果字段上設置了編碼,保存數據以字段編碼為準。 如果字段沒有設置編碼,以表的編碼為準。 如果表沒有設置編碼,則以庫上設置的編碼為準。 如果庫沒有設置編碼,則以MySQL服務器的內置編碼為準。
以上編碼都是服務器確定的,只需對數據庫、表、字段的編碼進行設置即可。
數據在客戶端展示的編碼 四個地方影響客戶端的展示
數據在服務器端存儲的編碼
下面三個與客戶端相關
客戶端向服務器端發送的數據編碼 服務器變量(配置項):character_set_client
客戶端與服務器端之間的連接層使用的編碼 服務器變量(配置項):character_set_connection
服務器端向客戶端發送的處理結果的數據編碼 服務器變量(配置項):character_set_results
可以使用 show variables like 'char%'; 在MySQL命令行模式下查看相關變量。 可使用 set指令單獨設置,如:set character_set_results=utf8;
set names 是一個快捷操作,同時設置了以上三個服務器變量(配置項),當使用set names utf8;時,相當于
set character_set_client=utf8;set character_set_connection=utf8;set character_set_results=utf8;項目中確保字符編碼五個地方統一
MySQL數據庫服務器保存數據的編碼
設置php與MySQL交互層編碼 mysqli_query($conn, 'set names utf8');
PHP與瀏覽器之間交互的編碼 header("Content-type:text/html;charset=utf-8");
HTML meta 標簽聲明使用編碼 <meta charset="UTF-8">
PHP文件保存的編碼(在編輯器中設置)
更多mysql相關知識請關注php中文網mysql視頻教程頻道
相關推薦:
PHP操作JSON方法大全
PHP操作MongoDB實現增刪改查功能
【mysql視頻教程】2019年最火的5個mysql視頻教程推薦
以上就是PHP 操作 MySQL的詳細內容,更多請關注php中文網其它相關文章!
來源:php中文網