連接到數據庫
$mysqli = new mysqli(主機,用戶,密碼,數據庫);
選擇數據庫
$mysqli->select_db(數據庫);
設置編碼
$mysqli->set_charset(編碼);
數據庫連接錯誤編號
$mysqli->connect_errno;
數據庫連接錯誤信息
$mysqli->connect_error;
最近產生的錯誤編號
$mysqli->errno;
最近產生的錯誤信息
$mysqli->error;
最近產生的錯的數組,0=>errno,sqlstate,error
$mysqli->error_list;
客戶端版本
$mysqli->client_version;
客戶端信息
$mysqli->ciient_info;
同上
$mysqli->get_client_info();
$mysqli->server_version;
$mysqli->server_info;
$mysqli->get_server_info();
執行一次數據庫查詢|執行一條SQL語句,多了會報錯
SELECT, SHOW, DESCRIBE或 EXPLAIN,會返回mysqli_result對象,其他返回true;失敗返回false
$result = $mysqli->query($sql);
得到上一步操作產生的受影響記錄條數(增刪改),值有3種:受影響條數,-1代表SQL語句有問題,0代表沒有記錄被影響
$mysqli->affected_rows;
得到上一次插入操作產生的auto_increment值(准確的是第一條的值)
$mysqli->insert_id;
結果集中記錄條數,可用於判斷
$result->num_rows;
返回一個二維數組,返回的是結果集中所有記錄,默認返回索引,可以設置常量返回類型,MYSQLI_ACCOS,MYSQL_NUM(默認),MYSQLI_BOTH
$result->fetch_all();
從結果集中作為索引數組返回一條記錄
$res->fetch_row();
從結果集中作為關聯數組返回一條記錄
$result->fetch_assoc();
從結果集中返回索引和關聯數組都有返回一條記錄,可設置常量
$result->fetch_array();
從結果集中返回一條記錄作為對象
$result->fetch_object();
返回一條記錄的字段信息
$result->fetch_field();
返回全部記錄的字段信息
$result->fetch_fields();
移動結果集中內部指針從0開始
$result->data_seek(指針);
釋放與結果集相關的內存
$result->free();
$result->free_result();
$result->close();
關閉數據庫連接
$mysqli->close();
執行多條SQL語句,如果多條查詢語句,返回多個結果集,可以配合do while循環全部結果集,返回三維數組
$mysqli->multi_query();
使用結果集也可以用use_result(),但效率低
$mysqli->store_result();
檢測是否還有結果集
$mysqli->more_results();
講結果集指針向下移動一位(使用下一個結果集)
$mysqli->next_result();
准備一個預處理語句,返回stmt對象,可以防止SQL注入
$stmt=$mysqli->prepare(SQL);
綁定參數,第一個參數為綁定的類型
$username;
$password
$stmt->bind_param('sss',$username,$password);
執行預處理語句,返回true或false
$stmt->execute();
綁定數據到變量,有幾條就可以綁定幾條(字段),然后就可以直接使用變量
$stmt->bind_result($username,$email);
遍歷結果集(一條記錄,使用上面的變量來讀取數據)
$stmt->fetch();
使用結果集
$stmt->store_result();
釋放預處理語句的結果集
$stmt->free_result();
關閉預處理語句
$stmt->close();
關閉自動提交
$mysqli->autocommit(FALSE);
SQL語句都成功則提交,並開啟自動提交(可選)
$mysqli->commit();
SQL語句失敗回滾
$mysqli->rollback();
