3 分で PHP の MySQLi を理解できます
この記事から始めて、MySQLi 拡張機能について学びます。 MySQL (オリジナル) 拡張機能は、私たちの多くが初めて PHP を学習し始めるときにデータベースに接続するための入門講師であると言えます。プロシージャル コードを使用してデータベースを操作する場合は、mysqli 拡張機能のみを使用できます。
PDO の学習は終了しました。この記事から、PDO 以外のコア MySQLi 拡張機能である別の MySQL 拡張機能について学び続けます。おそらく、その祖先である MySQL (オリジナル) 拡張機能は、私たちの多くが最初に PHP を学習し始めたときに、データベースに接続するための頼りになるガイドでした。しかし、時代の変化とともに、MySQL (オリジナル) 拡張機能は PHP7 では完全に放棄されました。プロシージャル コードを使用してデータベースを操作する場合は、mysqli 拡張機能のみを使用できます。もちろん、mysqli 拡張機能はオブジェクト指向の記述もサポートしています。
MySQLi とは
#MySQLi 拡張機能を使用すると、MySQL4.1 以降のバージョンのデータベースが提供する機能にアクセスできます。異なる DNS を介して異なるデータベースに接続できる PDO とは異なり、特に MySQL データベースを対象としています。 MySQL と PDO の違いと関連性まず最初に、初期の MySQL 拡張機能を確認しましょう。- #プロシージャのみ
- #ストアド プロシージャ、複数ステートメントの実行、およびプリペアド ステートメントはサポートされません
-
##その後、PDO
- さまざまなデータベースに接続でき、データベースを切り替えると変更が少なくなり、コードを変更する必要さえない場合もあります
- ストアド プロシージャ、マルチステートメントの実行と準備されたステートメント
- 最後は MySQLi です。 #オブジェクト指向とプロセス指向の両方の記述方法をサポート
- MySQL データベースのみをサポート
- # #サポートされているストアド プロシージャ、複数ステートメントの実行、プリペアド ステートメント
- PHP と MySQL のバージョン更新に従って、より迅速に MySQL の高度な機能をサポートできます
-
- PDO と MySQLi のどちらを選択するかについては、意見の問題です。実際、それらの間に大きな違いはありませんが、最新の大規模フレームワークは基本的に PDO をデフォルトのデータベース接続としてカプセル化するため、その移植性により、これらの一般的なフレームワークをさまざまなデータベースに接続することが容易になります。一部の小規模なフレームワークやプロジェクトでは、MySQLi が依然として使用されていることがあります。 もちろん、ニッチが悪いというわけではありません。日常の開発と同じように、PHP 環境で他のデータベースを使用することはめったにないため、独自の小規模プロジェクトの運用には MySQLi のセットを完全に使用できます。より便利で速いです。同時に、古いプロジェクトを PHP7 バージョンに切り替えたい場合、MySQL (オリジナル) 接続データベースが以前に使用されていた場合、MySQL (オリジナル) コードを MySQLi にすぐに置き換えることができます。
プロセス指向
前述したように、MySQLi はオブジェクト指向とプロセス指向という 2 つの記述方法をサポートしています。簡単に理解すると、1 つの書き方は MySQL (オリジナル) の拡張子であり、もう 1 つの書き方は PDO に似ています。まずはプロセス指向のライティングについて見てみましょう。$mysqli = mysqli_connect("localhost", "root", "", "blog_test"); $res = mysqli_query($mysqli, "SELECT * FROM zyblog_test_user"); $row = mysqli_fetch_assoc($res); print_r($row);
オブジェクト指向
オブジェクト指向は PDO に少し似ています。まず接続ハンドル クラスを取得し、次にこのクラスを操作する必要があります。$mysqli = new mysqli("localhost", "root", "", "blog_test"); $res = $mysqli->query("SELECT * FROM zyblog_test_user"); $row = $res->fetch_assoc(); print_r($row);
面向对象和面向过程混用
另外,这两种方式还可以混合使用,不过并不推荐。混合起来使用的话很容易让看代码的人晕头转向。所以,最好还是在一个项目中就坚持使用一种方式。
$mysqli = new mysqli("localhost", "root", "", "blog_test"); $res = mysqli_query($mysqli, "SELECT * FROM zyblog_test_user"); $row = $res->fetch_assoc(); print_r($row);
在这段代码中,我们实例化了一个 mysqli 对象,然后使用面向过程的 mysqli_query() 函数来执行语句,接着又使用面向对象的方式来获取结果集。是不是很乱?但是它是可以正常运行的。
总结
从上面的内容中可以看出,PDO 的特点是支持多种不同类型的数据库,就像 Java 中的 JDBC 一样。而 MySQLi 虽然只支持 MySQL 数据库,但它却可以同时支持面向对象和面向过程两种写法。是我们针对老项目代码进行升级优化的好帮手。同时,它还是现在入门 PHP 学习相关数据库操作的首选。在接下来的文章中,我们将默认只使用 面向对象 式的写法来继续学习 MySQLi 扩展相关的知识。
测试代码:
https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/4.PHP中的MySQLi扩展学习(一)MySQLi介绍.php
推荐学习:php视频教程
以上が3 分で PHP の MySQLi を理解できますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
