1.連接到資料庫: · 面向對象的方法: $db = new mysqli('hostname', 'username', 'password', 'dbname'); · 面向過程的方法: $db = mysqli_connect('hostname', 'username', 'password ...
1.連接到資料庫:
· 面向對象的方法:
$db = new mysqli('hostname', 'username', 'password', 'dbname');
· 面向過程的方法:
$db = mysqli_connect('hostname', 'username', 'password', 'dbname');
· 連接結果的檢查:
if (mysqli_connect_errno()) {
echo 'Error: Could not connect to database.';
exit;
}
mysqli_connect_errno()將在連接錯誤時返回一個錯誤號,成功則返回0。
2.選擇使用的資料庫:
· 面向對象的方法:
$db->select_db(dbname);
· 面向過程的方法:
mysqli_select_db(db_resource, db_name);
3.操作資料庫:
· 面向對象的方法:
$query = "select * from table table_name";
$result = $db->query($query);
返回一個結果對象,執行失敗則返回false。
· 面向過程的方法:
$query = "select * from table table_name";
$result = mysqli_query($db, $query);
返回一個結果資源,執行失敗則返回false。
4.獲取結果:
· 面向對象的方法:
$num_results = $result->num_rows;
當使用面向對象的方法時,返回的行數保存在結果對象的num_rows成員變數中。
for ($i=0; $i < $num_results; $i++) {
$row = $result->fetch_assoc();
$value = $row[key];
...
}
· 面向過程的方法:
$num_results = mysqli_num_rows($result);
當使用面向過程的方法時,調用mysqli_num_rows()可以得到返回的行數。
for ($i=0; $i < $num_results; $i++) {
$row = mysqli_fetch_assoc($result);
$value = $row[key];
...
}
· 其他的方法:
1)將結果取回到一個枚舉數組中:
· 面向對象的方法:
$row = $result->fetch_row();
· 面向過程的方法:
$row = mysqli_fetch_row($result);
然後通過下標訪問即可($row[0], $row[1]...)。
2)將結果取回到一個對象中:
· 面向對象的方法:
$row = $result->fetch_object();
· 面向過程的方法:
$row = mysqli_fetch_object($result);
之後通過$row->keyname訪問每個屬性即可。
以上是針對資料庫查詢,如果是執行資料庫修改時,應該使用mysqli_affected_rows()來得到受影響的資料庫條目總數:
· 面向對象的方法:
$num = $db->affected_rows;
· 面向過程的方法:
$num = mysqli_affected_rows($db);
5.斷開連接:
· 面向對象的方法:
$result->free();
· 面向過程的方法:
mysqli_free_result($result);
這樣即可釋放結果集。
之後斷開資料庫連接:
· 面向對象的方法:
$db->close();
· 面向過程的方法:
mysqli_close($db);
____________________________
推薦閱讀: