搜尋
首頁後端開發php教程Mysqli的基本操作-CURD的學習發展總結

PHP自5.5起,已完全廢除mysql擴展,官方推薦使用MySQLI或PDO來取代。這篇文章主要講mysqli的一些基本操作。使用mysqli有兩個風格的寫法,物件式或函數式,下面我們只展示函數式的寫法風格。

資料庫連線

首先肯定需要連接資料庫。在連接資料前,我們需要準備的一般有資料庫的帳號、密碼、連接埠號碼、資料庫名稱。

因為網路原因或其他原因常常會有連接不上資料庫的情況,所以,我們需要做連線失敗的處理。

<?php
// 数据库连接
$mysqli = mysqli_connect(
   &#39;localhost&#39;,
   &#39;root&#39;,
   &#39;&#39;,
   &#39;test&#39;
);

if (mysqli_connect_errno()) {
   throw new Exception(&#39;databases connect error:&#39;
       .mysqli_connect_error());
}

// ...一些数据库操作
// 关闭数据库资源
mysqli_close($mysqli);

設定字元集

設定字元集使用mysqli_set_charset();

字元集目前我們大都使用utf8mb4,因為他支援4個位元組長度的字元。他支援一些emoji表情字元。當然如果你不需要支援4位元組字元的話可以選擇使用utf8,因為他比較剩下空間。

mysqli_set_chartset($mysqli, &#39;utf8mb4&#39;);

重新選擇資料庫

資料庫連線後,也可以重新選擇資料庫。

mysqli_select_db($mysqli, &#39;数据库名&#39;);

CURD操作

mysqli_query():對資料庫執行一次操作,DDL、DQL 、DML都支援。

mysqli_affected_rows():取得影響記錄行數。

新增資料操作

mysqli_query($mysqli,
   "INSERT INTO users(username, age, sex)
               VALUES(&#39;周杰伦&#39;, 35, &#39;男&#39;),
                      (&#39;谢霆锋&#39;, 35, &#39;男&#39;)"
);

if (mysqli_affected_rows($mysqli) <= 0) {
   throw new Exception(&#39;databases insert error:&#39;
       . mysqli_error($mysqli));
}

修改資料操作

#這裡面有一個注意點,mysqli_affected_rows回傳的值為0的情況。它更新的資訊與上次完全一樣,這個情況很普遍。比如說在修改的時候,連續點擊了多次修改按鈕。但並不能說明程式碼有問題。所以,跟新增不一樣的是,回傳0也應該是成功狀態。

mysqli_query($mysqli,
   "UPDATE users SET age=40 WHERE user_id = 1"
);

if (mysqli_affected_rows($mysqli) < 0) {
   throw new Exception(&#39;databases update error:&#39;
       . mysqli_error($mysqli));
}

刪除資料操作

#注意:修改和刪除操作必須加上where條件,不然會修改整張表的數據,後果不堪設想(刪庫跑路o(╯□╰)o)。

mysqli_query($mysqli,
   "Delete FROM users  WHERE user_id = 100"
);

if (mysqli_affected_rows($mysqli) <= 0) {
   throw new Exception(&#39;databases delete error:&#39;
       . mysqli_error($mysqli));
}

查詢操作

當mysqli_query執行的是一條查詢語句時,函數會傳回mysqli_result結果集。

mysqli_fetch_all()從結果集中取得全部資料。此函數第二個參數可以指定傳回資料的格式。分別為:

  • MYSQLI_NUM:傳回索引陣列

  • MYSQLI_ASSOC:傳回關聯陣列

  • #MYSQLI_BOTH :既有索引數組也有關聯數組

另外要注意,對結果集的運算結束後,記得銷毀結果集資源。

// 数据库连接
$mysqli = mysqli_connect(
   &#39;localhost&#39;,
   &#39;root&#39;,
   &#39;&#39;,
   &#39;test&#39;
);
if (mysqli_connect_errno()) {
   throw new Exception(&#39;databases connect error:&#39;
       .mysqli_connect_error());
}
mysqli_set_charset($mysqli, &#39;utf8mb4&#39;);
$result = mysqli_query($mysqli,
   "SELECT * FROM users"
);
if (mysqli_affected_rows($mysqli) < 0) {
   throw new Exception(&#39;databases select error:&#39;
       . mysqli_error($mysqli));
}
$users = mysqli_fetch_all($result, MYSQLI_ASSOC);
// 销毁结果集资源
mysqli_free_result($result);
// 关闭数据库资源
mysqli_close($mysqli);

以上就是Mysqli基本操作,個人實際學習發展總結,歡迎討論!

以上是Mysqli的基本操作-CURD的學習發展總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP Fatal error: Call to undefined function mysqli_connect()的解决方法PHP Fatal error: Call to undefined function mysqli_connect()的解决方法Jun 23, 2023 am 09:40 AM

在使用PHP编写Web应用程序时,经常会使用MySQL数据库来存储数据。PHP提供了一种与MySQL数据库进行交互的方法,称为MySQLi。然而,有时在使用MySQLi时,会遇到一个错误信息,如以下所示:PHPFatalerror:Calltoundefinedfunctionmysqli_connect()这个错误信息意味着PHP无法找到my

php无法连接mysqli怎么办php无法连接mysqli怎么办Nov 09, 2022 am 10:07 AM

php无法连接mysqli的解决办法:1、打开“php.ini”文件;2、找到“mysqli.reconnect”;3、将“mysqli.reconnect = OFF”改成“mysqli.reconnect = on”即可。

mysql的运行文件是什么mysql的运行文件是什么Apr 11, 2023 am 10:38 AM

mysql的运行文件是mysqld;mysqld是一个可执行文件,代表着Mysql服务器程序,执行这个文件可以直接启动一个服务器进程;而mysqld_safe是一个启动脚本,它会间接调用mysqld,并且还会顺带启动一个监控进程。

PHP PDO 与 mysqli:比较和对比PHP PDO 与 mysqli:比较和对比Feb 19, 2024 pm 12:24 PM

PDOPDO是一个面向对象的数据库访问抽象层,它为PHP提供了一个统一的接口,允许您使用相同的代码与不同的数据库(如Mysql、postgresql、oracle)进行交互。PDO隐藏了底层数据库连接的复杂性,简化了数据库操作。优缺点优点:统一接口,支持多种数据库简化数据库操作,降低开发难度提供预处理语句,提高安全性支持事务处理缺点:性能可能比原生扩展稍低依赖外部库,可能会增加开销演示代码使用PDO连接mysql数据库:$db=newPDO("mysql:host=localhost;dbnam

PHP Warning: mysqli_connect(): (HY000/2002): Connection refused的解决方法PHP Warning: mysqli_connect(): (HY000/2002): Connection refused的解决方法Jun 23, 2023 am 08:54 AM

如果你使用PHP连接MySQL数据库时遇到了以下错误提示:PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused那么你可以尝试按照下面的步骤来解决这个问题。确认MySQL服务是否正常运行首先应该检查MySQL服务是否正常运行,如果服务未运行或者启动失败,就可能会导致连接被拒绝的错误。你可

在PHP中使用MySQLi建立数据库连接的详尽教程在PHP中使用MySQLi建立数据库连接的详尽教程Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

PHP Fatal error: Call to undefined method mysqli::prepare()的解决方法PHP Fatal error: Call to undefined method mysqli::prepare()的解决方法Jun 23, 2023 am 11:21 AM

当使用mysqli扩展来连接和操作MySQL数据库时,有时会遇到PHPFatalerror:Calltoundefinedmethodmysqli::prepare()的错误。这个错误通常是由以下几个原因引起的:PHP对mysqli扩展的支持不足;mysqli扩展没有正确加载或配置;PHP代码存在语法错误;MySQL服务器没有正确配置或正在运行

PHP Fatal error: Call to undefined function mysqli_stmt_bind_param()的解决方法PHP Fatal error: Call to undefined function mysqli_stmt_bind_param()的解决方法Jun 23, 2023 am 10:43 AM

在使用PHP开发网站时,数据库的操作是非常常见的。而MySQLi是PHP中常用的操作MySQL数据库的扩展,提供了比较完备的面向对象接口、过程化接口,以及支持预处理语句的操作。但是有时候我们在使用mysqli的预处理语句时,会遇到这样的错误:PHPFatalerror:Calltoundefinedfunctionmysqli_stmt_bin

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器