- 首頁
- 開發(fā)者
- 技術(shù)學(xué)習(xí)
- 閱讀詳情
MySQLi使用實例深度講解:MySQLi基于面向過程的編程
以下編程基于PHP環(huán)境:mysqli在windows上,對于PHP 5.3或更新版本,mysqli擴(kuò)展默認(rèn)開啟,對于PHP 5.0 5.1 5.2,mysqli擴(kuò)展默認(rèn)并不會開啟,因此php.ini中php_mysqli.dll這個DLL 必須開啟。MySQLi基于面向過程的編程和面向?qū)ο蟮木幊淌窍鄬Φ?,其中使用到的方法都是可以類比的。連接數(shù)據(jù)庫。
1、設(shè)置文件字符編碼及連接數(shù)據(jù)庫
//設(shè)置文件字符編碼
header("Content-type:text/html;charset=utf-8");
//連接數(shù)據(jù)庫
$link=mysqli_connect('localhost', 'root', '', 'test','port') or die ('Connect Error:'.mysqli_connect_error());2、設(shè)置數(shù)據(jù)庫字符編碼
mysqli_set_charset($link,'UTF8');
3、插入記錄
$query = "INSERT INTO staff(id,name,job) VALUES('','naruto','保安隊長')";
$res = mysqli_query($link,$query);//插入成功返回真,插入失敗返回假
if($res){
//插入成功則輸出自增主鍵的id
echo "AUTO_INCREMENT:".mysqli_insert_id($link);
echo "<hr/>";
echo "AFFECTED ROWS:".mysqli_affected_rows($link);
}else{
//插入失敗則輸出錯誤編號和錯誤信息
echo "Error:";
echo mysqli_errno($link).":".mysqli_error($link);
}4、查詢一條記錄
//函數(shù)名及說明 //mysqli_fetch_assoc($result) 查詢到的一條數(shù)據(jù)以關(guān)聯(lián)數(shù)組形式返回 //mysqli_fetch_row($result) 查詢到的一條數(shù)據(jù)以索引數(shù)組形式返回 //mysqli_fetch_array($result) 查詢到的一條數(shù)據(jù)以索引數(shù)組和關(guān)聯(lián)數(shù)組的混合形式返回 //mysqli_fetch_object($result) 查詢到的一條數(shù)據(jù)以對象屬性的形式返回 //mysqli_fetch_array($result) 查詢到的一條數(shù)據(jù)以索引數(shù)組和關(guān)聯(lián)數(shù)組的混合形式返回 //mysqli_fetch_array($result,MYSQLI_BOTH) 查詢到的一條數(shù)據(jù)以索引數(shù)組和關(guān)聯(lián)數(shù)組的混合形式返回 //mysqli_fetch_array($result,MYSQLI_ASSOC) 查詢到的一條數(shù)據(jù)以關(guān)聯(lián)數(shù)組的混合形式返回 //mysqli_fetch_array($result,MYSQLI_ROW) 查詢到的一條數(shù)據(jù)以索引數(shù)組的混合形式返回 $query = "SELECT * FROM staff WHERE id = 2"; $result = mysqli_query($link, $query); $row = mysqli_fetch_assoc($result); var_dump($row); //輸出查詢結(jié)果
5、查詢多條記錄(一次取出多條記錄)
//函數(shù)名及說明 //mysqli_fetch_all($result) 查詢到的所有數(shù)據(jù)以索引數(shù)組和關(guān)聯(lián)數(shù)組的混合形式返回 //mysqli_fetch_all($result,MYSQLI_BOTH) 查詢到的所有數(shù)據(jù)以索引數(shù)組和關(guān)聯(lián)數(shù)組的混合形式返回 //mysqli_fetch_all($result,MYSQLI_ASSOC) 查詢到的所有數(shù)據(jù)以關(guān)聯(lián)數(shù)組的混合形式返回 //mysqli_fetch_all($result,MYSQLI_ROW) 查詢到的所有數(shù)據(jù)以索引數(shù)組的混合形式返回 $query = "SELECT * FROM staff"; $result = mysqli_query($link, $query); $rows = mysqli_fetch_all($result,MYSQLI_ASSOC); echo "共".count($rows)."條記錄:"; var_dump($rows);
6、每次取出一條記錄
$query = "SELECT * FROM staff";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_assoc($result)){
$rows[] = $row;
};
echo "共".count($rows)."條記錄:";
var_dump($rows);7、更新記錄
更新操作和插入操作類似,區(qū)別是執(zhí)行的sql語句不同。
$query = "UPDATE staff SET name = 'kakax' WHERE id = 3";
$res = mysqli_query($link,$query);//插入成功返回真,插入失敗返回假
if($res){
//插入成功則輸出自增主鍵的id
echo "AUTO_INCREMENT:".mysqli_insert_id($link);
echo "<hr/>";
echo "AFFECTED ROWS:".mysqli_affected_rows($link);
}else{
//插入失敗則輸出錯誤編號和錯誤信息
echo "Error:";
echo mysqli_errno($link).":".mysqli_error($link);
}8、刪除記錄
刪除操作和插入操作以及更新操作類似,區(qū)別是執(zhí)行的sql語句不通。
$query = "DELETE FROM staff WHERE id = 13";
$res = mysqli_query($link,$query);//插入成功返回真,插入失敗返回假
if($res){
//插入成功則輸出自增主鍵的id
echo "AUTO_INCREMENT:".mysqli_insert_id($link);
echo "<hr/>";
echo "AFFECTED ROWS:".mysqli_affected_rows($link);
}else{
//插入失敗則輸出錯誤編號和錯誤信息
echo "Error:";
echo mysqli_errno($link).":".mysqli_error($link);
}9、關(guān)閉數(shù)據(jù)庫連接
mysqli_close($link);
如果不適用mysqli_close()語句關(guān)閉數(shù)據(jù)庫的連接,則非持久連接會在腳本執(zhí)行完畢后自動關(guān)閉。mysqli_close() 不會關(guān)閉由 mysqli_pconnect() 建立的持久連接。
本文為「本站原創(chuàng)」,未經(jīng)我們許可,嚴(yán)謹(jǐn)任何人或單位以任何形式轉(zhuǎn)載或刊載本文章,我們保留依法追究侵權(quán)的權(quán)力!
微信聯(lián)系我們
使用微信掃一掃
昵稱:億百天技術(shù)
公司:湖北億百天信息技術(shù)有限公司
電話:027-88773336
手機(jī):15342213852
郵箱:serviceebaitian.cn


加載中...
我來說兩句