1,建立與數據庫之間的連接 (能通過php代碼執行一個SQL語句得到查詢的結果)
<?php mysqli_connect('127.0.0.1' , 'root' , 123456' , 'demo01');
這里要注意兩個問題:
①mysqli 是一個額外的擴展,如果想要使用這個擴展提供的函數,必須開啟擴展 extension_dir
在php 的配置文件里解除注釋 extension=php mysqli.dll (這里特別提醒,修改php的配置文件之后可以 用 phpinfo()函數看看php的文檔中有沒有成功解除前面的注釋添加 mysqli 這個擴展)
2,判斷是否連接成功
<?php $connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01'); if(! $connection){ exit ('連接數據庫失敗'); }
3,基於剛剛創建的連接對象執行一次查詢操作
<?php $connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01'); if(! $connection){ exit ('連接數據庫失敗'); } $query=mysqli_query($connection , 'select * from users;'); var_dump($query);
得到的是一個查詢對象

4,這個查詢對象可以用來再到數據庫中一行一行拿數據
<?php $connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01'); if(!$connection){ exit('<h1>連接數據庫失敗</h1>'); } $query=mysqli_query($connection,'select * from users'); $row=mysqli_fetch_assoc($query); var_dump($row);

但是只能拿到一行數據,需要多寫幾次這段代碼才能提取出全部數據,故而涉及到循環
5,循環遍歷拿數據
<?php $connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01'); if(!$connection){ exit('<h1>連接數據庫失敗</h1>'); } $query=mysqli_query($connection,'select * from users'); $row=mysqli_fetch_assoc($query); while($row){ var_dump($row); $row=mysqli_fetch_assoc($query); } var_dump($row);
6, 模仿 js 中的 判斷,優化循環語句
<?php $connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01'); if(!$connection){ exit('<h1>連接數據庫失敗</h1>'); } $query=mysqli_query($connection,'select * from users'); while ($row=mysqli_fetch_assoc($query)) { var_dump($row); }

7,判斷查詢失敗提示 以及 釋放查詢結果集、炸橋(關閉連接)
<?php $connection = mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01' ); if(!$connection){ exit ('連接數據庫失敗'); } $query=mysqli_query($connection , 'select * from users') ; if(!$query){ exit('查詢失敗'); } //遍歷結果集 while($row = mysqli_fetch_assoc($query)) { var_dump($row); } //釋放查詢結果集 mysqli_free_result($query); //炸橋、關閉連接 mysqli_close($connection);
8,增刪改數據的查詢語句
<?php
$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');
if(!$connection){
exit('<h1>連接數據庫失敗</h1>');
}
$query = mysqli_query($connection,'delete from users where id=3;'); //基於剛剛創建的連接對象執行一次查詢操作
if(!$query){
exit('查詢失敗');
}
//如何拿到受影響行
$rowsAccepted = mysqli_affected_rows($connection); //傳入的一定是連接對象
var_dump($rowsAccepted);
mysqli_close($connection); //炸橋,關閉連接
9,PHP中查詢數據的編碼問題
<?hphp $connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01'); mysqli_set_charset($connection, ' utf8 '); //必須在查詢對象之前,必須傳入連接對象和編碼 //或是 mysqli_query($connection, 'set names utf8;');
if(!connection){ exit('連接數據庫失敗'); } $query=mysqli_query($connection, 'select*from users'); if(!query){ exit('查詢失敗'); } while($row=mysqli_fetch_assor($query)){ var_dump($row); } mysqli_free_result($query); mysqli_close($connection);
