1. 程式人生 > >13-1 在PHP中使用mysqli與MySQL交互

13-1 在PHP中使用mysqli與MySQL交互

style value free error tor file mysql服務器 del 提示

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 );

<?php
header(‘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_BOTH
var_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交互