Mysqli的基本操作方法

本文主要給大家簡(jiǎn)單講講MySQLi的基本操作方法,相關(guān)專業(yè)術(shù)語(yǔ)大家可以上網(wǎng)查查或者找一些相關(guān)書籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望Mysqli的基本操作方法這篇文章可以給大家?guī)?lái)一些實(shí)際幫助。

10年專注建站、設(shè)計(jì)、互聯(lián)網(wǎng)產(chǎn)品按需求定制網(wǎng)站服務(wù),業(yè)務(wù)涵蓋成都品牌網(wǎng)站建設(shè)、商城網(wǎng)站制作、重慶小程序開發(fā)、軟件系統(tǒng)開發(fā)、App定制開發(fā)等。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解每個(gè)客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(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)效率。

 Mysqli的基本操作方法                                                           

數(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)樗容^??臻g。

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

查詢操作

當(dāng)mysqli_query執(zhí)行的是一條查詢語(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é)束后,記得銷毀結(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);
// 銷毀結(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è)新聞及專業(yè)知識(shí)分享給大家的。

文章名稱:Mysqli的基本操作方法
分享地址:http://muchs.cn/article38/ippopp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站內(nèi)鏈外貿(mào)建站、定制開發(fā)品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(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)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)