1.面向對象的使用方式
$db = new mysqli('localhost', 'root', '123456', 'dbname');
如果建立連接時未指定數據庫則選擇使用的數據庫,切換使用的數據庫
$db->select_db('dbname'); $query = "SELECT * FROM user WHERE uid=4"; $result = $db->query($query); $result_num = $result->num_rows; $row = $result->fetch_assoc(); //返回一個關聯數組,可以通過$row['uid']的方式取得值 $row = $result->fetch_row(); //返回一個列舉數組,可以通過$row[0]的方式取得值 $row = $result->fetch_array(); //返回一個混合數組,可以通過$row['uid']和$row[0]兩種方式取得值 $row = $result->fetch_object(); //返回一個對象,可以通過$row->uid的方式取得值 $result->free(); //釋放結果集 $db->close(); //關閉一個數據庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接
當進行INSERT、UPDATE、DELETE操作時,使用$db->affected_rows查看影響行數
2.面向過程的使用方式
$db = mysqli_connect('localhost', 'root', '123456', 'dbname');
如果建立連接時未指定數據庫則選擇使用的數據庫,切換使用的數據庫
mysqli_select_db($db, 'dbname');
查詢數據庫
$query = "SELECT * FROM user WHERE uid=4"; $result = mysqli_query($db, $query); $result_num = mysqli_num_rows($result);
返回一行結果
$row = mysqli_fetch_assoc($result); //返回一個關聯數組,可以通過$row['uid']的方式取得值 $row = mysqli_fetch_row($result); //返回一個列舉數組,可以通過$row[0]的方式取得值 $row = mysqli_fetch_array($result); //返回一個混合數組,可以通過$row['uid']和$row[0]兩種方式取得值 $row = mysqli_fetch_object($result); //返回一個對象,可以通過$row->uid的方式取得值
斷開數據庫連接
mysqli_free_result($result); //釋放結果集 mysqli_close($db); //關閉一個數據庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接
當進行INSERT、UPDATE、DELETE操作時,使用mysqli_affected_rows()查看影響行數
編碼問題,注意以下三個地方的編碼統一,可以確保中文不亂碼:
1 、數據庫設計(創建)時指定的中文編碼;
2、PHP文件的編碼;
3、MYSQL連接以後對連接設置的編碼,一般用下面的語句設定:
mysql_query("set names utf-8");
首先mysqli("localhost","root","1234");應該是個函數,不應該用new 關鍵字。
new 是來實例化對象的。
$link = mysqli_connect(
'localhost', /* The host to connect to 連接MySQL地址 */
'user', /* The user to connect as 連接MySQL用戶名 */
'password', /* The password to use 連接MySQL密碼 */
'world');
這個才是連接語句。