本文主要給大家簡(jiǎn)單講講MySQLi的基本操作方法,相關(guān)專(zhuān)業(yè)術(shù)語(yǔ)大家可以上網(wǎng)查查或者找一些相關(guān)書(shū)籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望Mysqli的基本操作方法這篇文章可以給大家?guī)?lái)一些實(shí)際幫助。
10年專(zhuān)注建站、設(shè)計(jì)、互聯(lián)網(wǎng)產(chǎn)品按需求定制網(wǎng)站服務(wù),業(yè)務(wù)涵蓋成都品牌網(wǎng)站建設(shè)、商城網(wǎng)站制作、重慶小程序開(kāi)發(fā)、軟件系統(tǒng)開(kāi)發(fā)、App定制開(kāi)發(fā)等。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解每個(gè)客戶(hù)的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶(hù)設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù),以推動(dòng)各中小企業(yè)全面信息數(shù)字化,并利用創(chuàng)新技術(shù)幫助各行業(yè)提升企業(yè)形象和運(yùn)營(yíng)效率。
數(shù)據(jù)庫(kù)連接
首先肯定需要連接數(shù)據(jù)庫(kù)。連接數(shù)據(jù)前,我們需要準(zhǔn)備的一般有數(shù)據(jù)庫(kù)的賬號(hào)、密碼、端口號(hào)、數(shù)據(jù)庫(kù)名。
因?yàn)榫W(wǎng)絡(luò)原因或其他原因經(jīng)常會(huì)有連接不上數(shù)據(jù)庫(kù)的情況,所以,我們需要做連接失敗的處理。
<?php // 數(shù)據(jù)庫(kù)連接 $mysqli = mysqli_connect( 'localhost', 'root', '', 'test' ); if (mysqli_connect_errno()) { throw new Exception('databases connect error:' .mysqli_connect_error()); } // ...一些數(shù)據(jù)庫(kù)操作 // 關(guān)閉數(shù)據(jù)庫(kù)資源 mysqli_close($mysqli);
設(shè)置字符集
設(shè)置字符集使用mysqli_set_charset();
字符集目前我們大都使用utf8mb4,因?yàn)樗С?個(gè)字節(jié)長(zhǎng)度的字符。他支持一些emoji表情字符。當(dāng)然如果你不需要支持4字節(jié)字符的話可以選擇使用utf8,因?yàn)樗容^剩空間。
mysqli_set_chartset($mysqli, 'utf8mb4');
重新選擇數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)連接后,還可以重新選擇數(shù)據(jù)庫(kù)。
mysqli_select_db($mysqli, '數(shù)據(jù)庫(kù)名');
CURD操作
mysqli_query():對(duì)數(shù)據(jù)庫(kù)執(zhí)行一次操作,DDL、DQL 、DML都支持。
mysqli_affected_rows():獲取影響記錄行數(shù)。
新增數(shù)據(jù)操作
mysqli_query($mysqli, "INSERT INTO users(username, age, sex) VALUES('周杰倫', 35, '男'), ('謝霆鋒', 35, '男')" ); if (mysqli_affected_rows($mysqli) <= 0) { throw new Exception('databases insert error:' . mysqli_error($mysqli)); }
修改數(shù)據(jù)操作
這里面有一個(gè)注意點(diǎn),mysqli_affected_rows返回的值為0的情況。它更新的信息與上次完全一樣,這個(gè)情況很普遍。比如說(shuō)在修改的時(shí)候,連續(xù)點(diǎn)擊了多次修改按鈕。但并不能說(shuō)明程序代碼有問(wèn)題。所以,和新增不一樣的是,返回0也應(yīng)該是成功狀態(tài)。
mysqli_query($mysqli, "UPDATE users SET age=40 WHERE user_id = 1" ); if (mysqli_affected_rows($mysqli) < 0) { throw new Exception('databases update error:' . mysqli_error($mysqli)); }
刪除數(shù)據(jù)操作
注意:修改和刪除操作必須加where條件,不然將會(huì)修改整個(gè)表的數(shù)據(jù),后果不堪設(shè)想(刪庫(kù)跑路o(╯□╰)o)。
mysqli_query($mysqli, "Delete FROM users WHERE user_id = 100" ); if (mysqli_affected_rows($mysqli) <= 0) { throw new Exception('databases delete error:' . mysqli_error($mysqli)); }
查詢(xún)操作
當(dāng)mysqli_query執(zhí)行的是一條查詢(xún)語(yǔ)句時(shí),該函數(shù)會(huì)返回mysqli_result結(jié)果集。
mysqli_fetch_all()從結(jié)果集中獲取全部數(shù)據(jù)。該函數(shù)第二個(gè)參數(shù)可以指定返回?cái)?shù)據(jù)的格式。分別為:
MYSQLI_NUM:返回索引數(shù)組
MYSQLI_ASSOC:返回關(guān)聯(lián)數(shù)組
MYSQLI_BOTH:既有索引數(shù)組也有關(guān)聯(lián)數(shù)組
另外需要注意,對(duì)結(jié)果集的操作結(jié)束后,記得銷(xiāo)毀結(jié)果集資源。
// 數(shù)據(jù)庫(kù)連接 $mysqli = mysqli_connect( 'localhost', 'root', '', 'test' ); if (mysqli_connect_errno()) { throw new Exception('databases connect error:' .mysqli_connect_error()); } mysqli_set_charset($mysqli, 'utf8mb4'); $result = mysqli_query($mysqli, "SELECT * FROM users" ); if (mysqli_affected_rows($mysqli) < 0) { throw new Exception('databases select error:' . mysqli_error($mysqli)); } $users = mysqli_fetch_all($result, MYSQLI_ASSOC); // 銷(xiāo)毀結(jié)果集資源 mysqli_free_result($result); // 關(guān)閉數(shù)據(jù)庫(kù)資源 mysqli_close($mysqli);
Mysqli的基本操作方法就先給大家講到這里,對(duì)于其它相關(guān)問(wèn)題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會(huì)捕捉一些行業(yè)新聞及專(zhuān)業(yè)知識(shí)分享給大家的。
文章名稱(chēng):Mysqli的基本操作方法
分享地址:http://m.rwnh.cn/article38/ippopp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站內(nèi)鏈、外貿(mào)建站、定制開(kāi)發(fā)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)