標籤:字元編碼 語句 let delete tor roo 函數 nbsp html
1.建立、關閉與MySQL伺服器的串連
1)串連指定的mysql伺服器
[email protected]_connect($host, $user, $password,$database,$port);
2)串連錯誤時的提示
int mysqli_connect_errno ();//返回最後一次串連調用的錯誤碼
string mysqli_connect_error ();//返回一個字串描述的最後一次串連調用的錯誤碼
3)設定預設字元編碼
bool mysqli_set_charset ( mysqli $link , string $charset )
4)選擇特定的資料庫
bool mysqli_select_db ( mysqli $link , string $dbname);
5)關閉與mysql伺服器的串連
bool mysqli_close ( mysqli $link );
2.執SQL語句
1)對資料庫執行一條SQL語句
1>mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] );
①對於insert,update,delete等不會返回資料的SQL語句,在執行沒有錯誤時將返回true。
②對於返回資料的SQL語句執行成功的時候會返回結果集對象可以使用操作結果集對象的函數來從中擷取資料
2)操作結果集對象的函數
1>從結果集對象中解析資料的常見函數
①以索引數組的方式擷取一條記錄的資料
mixed mysqli_fetch_row ( mysqli_result $result );
重複使用以擷取下一條記錄的資料
②以關聯陣列的方式擷取一條記錄的資料
array mysqli_fetch_assoc ( mysqli_result $result );
重複使用以擷取下一條記錄的資料
③以索引數組或關聯陣列的方式擷取一條記錄的資料
mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] );
重複使用以擷取下一條記錄的資料
④以索引數組或關聯陣列的方式擷取全部記錄的資料
mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] );
⑤返回結果集中的下一個欄位資訊
object mysqli_fetch_field ( mysqli_result $result );
⑥返回一個代表結果集欄位的對象數組
array mysqli_fetch_fields ( mysqli_result $result );
⑦擷取結果中行的數量
int mysqli_num_rows ( mysqli_result $result );
注意:如果使用MYSQLI_USE_RESULT模式則必須在擷取完結果集才可使用該函數。
2>釋放與一個結果集相關的記憶體
返回的結果集在資料量很大的時候需要很多的記憶體支援,所以在操作完結果集的時候有必要立刻釋放與一個結果集相關的內
存, 釋放之後,結果集就不可用了
void mysqli_free_result ( mysqli_result $result );
<?phpheader(‘Content-type:text/html;charset=utf-8‘);//與MySQL資料庫建立串連$link=mysqli_connect(‘localhost‘,‘root‘,‘‘,‘‘,3306);//串連錯誤時的提示if(mysqli_connect_errno()){ exit(mysqli_connect_error());}//設定預設字元編碼mysqli_set_charset($link, ‘utf8‘);//選擇特定的資料庫mysqli_select_db($link,‘d14‘);//對資料庫執行一條SQL語句//$query=‘insert into t1(info) values("孫勝利,私房庫,sifangku.com")‘;$query=‘select * from t1‘;$result=mysqli_query($link, $query);/*//以索引數組的方式擷取一條記錄的資料while ($data=mysqli_fetch_row($result)){ var_dump($data);}*//*以關聯陣列的方式擷取一條記錄的資料var_dump(mysqli_fetch_assoc($result));var_dump(mysqli_fetch_assoc($result));var_dump(mysqli_fetch_assoc($result));var_dump(mysqli_fetch_assoc($result));var_dump(mysqli_fetch_assoc($result));*//*以索引數組或關聯陣列的方式擷取一條記錄的資料第二個參數可選值:MYSQLI_ASSOC, MYSQLI_NUM, MYSQLI_BOTH(預設)var_dump(mysqli_fetch_array($result,MYSQLI_NUM));*//*以索引數組或關聯陣列的方式擷取全部記錄的資料第二個參數可選值:MYSQLI_ASSOC, MYSQLI_NUM, MYSQLI_BOTHvar_dump(mysqli_fetch_all($result,MYSQLI_BOTH));*//*返回結果集中的下一個欄位資訊$filed=mysqli_fetch_field($result);var_dump($filed);echo $filed->orgname;//重複使用擷取下一個欄位var_dump(mysqli_fetch_field($result));var_dump(mysqli_fetch_field($result));*//*返回一個代表結果集欄位的對象數組var_dump(mysqli_fetch_fields($result));$fields=mysqli_fetch_fields($result);echo $fields[0]->name;*//*//擷取結果中行的數量var_dump(mysqli_num_rows($result));*///釋放與一個結果集相關的記憶體mysqli_free_result($result);//關閉與mysql伺服器的串連mysqli_close($link);
13-1 在PHP中使用mysqli與MySQL互動