PHP中連接數據庫
阿新 • • 發佈:2018-07-08
集中 tab nbsp 數據庫連接 errno 修改 不常用 result dbn Step1:鏈接數據庫 mysqli_connect()
參數: ①主機地址
②mysql用戶名
③mysql密碼
④選擇連接的數據庫
⑤端口號
返回:如果連接成功,返回資源類型的標誌符號;如果連接失敗,返回false。
如果我們與mysql建立的連接不只一條,那麽以後操作數據庫的各種函數都必須傳入返回的連接符號;
如果我們與mysql建立的連接只有一條,那麽以後操作數據庫的各種函數就不必傳入這個標識符號。建議都傳入。
密碼為空可以省略密碼 $conn = mysqli_connect("localhost", "root");
$conn = mysqli_connect("localhost", "root", "", "mydb");
var_dump($conn);
Step2:檢測數據庫連接是否成功?
mysqli_connect_errno()與 mysqli_connect_error()
mysqli_connect_errno(); 返回上次連接數據庫錯誤的錯誤號,連接成功返回0
mysqli_connect_error(); 返回上次連接數據庫的錯誤信息
if(mysqli_connect_errno($conn)){
die("數據庫連接失敗!失敗信息:".mysqli_connect_error($conn));
}
前面兩步合並的寫法(Step1+Step2):連接數據庫同時判斷
$conn = mysqli_connect("localhost", "root", "", "mydb") or die("數據庫連接失敗!失敗信息:".mysqli_connect_error($conn));
Step3:選擇數據庫 mysqli_select_db($link,$dbname)
參數:①標識符 ②連接數據庫名稱
連接成功,返回true;連接失敗,返回false
如果修改數據庫成功,則資源標識符中的數據庫就會發生變動;
如果修改失敗而沒有通過代碼終止操作,則後續代碼可以使用原數據庫繼續執行
mysqli_select_db($conn, "mydb") or die("數據庫選擇失敗!");
Step4:設置字符集編碼格式
mysqli_set_charset($link,$charset) 只能設置為utf8而不能是utf-8
mysqli_set_charset($conn,"utf8") or die("數據庫編碼集設置失敗!");
Step5:編寫sql語句
$sql = "select * from tb1";
Step6:執行sql語句 mysqli_query($link,$sql)
如果是(DML)增、刪、改,將返回布爾類型是否成功
返回上一次操作時受影響的行數 mysqli_affected_rows($link)
如果是(DQL)查詢,將返回資源結果集
返回資源結果集中的行數 mysql_num_rows($result)
返回資源結果集中的字段數 mysql_num_fields($result)
如果查詢失敗,返回false
$res = mysqli_query($conn,$sql);
mysqli_insert_id($conn); 執行插入語句是返回上次插入最新插入的主鍵ID
Step7:解析結果集
var_dump(mysqli_fetch_array($res)); 處理結果集,返回關聯數組和索引數組 不常用
參數① 需要處理的結果集
參數② 返回哪種數組格式
MYSQL_ASSOC - 關聯數組
MYSQL_NUM - 數字數組
MYSQL_BOTH - 默認。同時產生關聯和數字數組
echo "<table border=‘1‘ style=‘border-collapse:collapse;text-align:center;width:200px;‘>";
echo "<thead bgcolor=‘lightblue‘ style=‘color:#ffffff;‘><td>ID</td><td>姓名</td><td>年齡</td><td>性別</td></thead>";
while($row =mysqli_fetch_assoc($res)){ // 返回關聯數組 指針遍歷 常用
echo "<tr>";
foreach($row as $value){
echo "<td>{$value}</td>";
};
echo "</tr>";
}
echo "</table>";
mysqli_data_seek($res,0); 設置結果集指針位置,此式表達復位至0
var_dump(mysqli_fetch_object($res));
var_dump(mysqli_fetch_row($res)); 返回索引數組
var_dump(mysqli_fetch_object($res)); 返回對象
var_dump(mysqli_fetch_fields($res)); 返回結果集中每一列的字段信息
Step8:關閉資源與結果集 mysqli_free_result()和mysqli_close()
mysqli_free_result($res); //釋放查詢資源結果集
mysqli_close($conn); //關閉數據庫連接
PHP中連接數據庫