mysqliとmysqlの違いは何ですか

青灯夜游
リリース: 2022-01-04 17:10:58
オリジナル
7367 人が閲覧しました

違い: 1. MySQL 接続は永続的な接続ですが、mysql は非永続的な接続です; 2. mysql 接続が 2 回目に使用されるたびに、新しいプロセスが再度開かれますが、mysqli は非永続的な接続です。接続は常に同じ接続、プロセスのみを使用します。

mysqliとmysqlの違いは何ですか

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

1. mysql と mysqli の違い:

Mysqli 接続は永続的な接続ですが、mysql は非永続的な接続です。

mysql 接続: 2 回目に使用されるたびに、新しいプロセスが再度開かれます。

mysqli 接続: 常に同じプロセスを使用します。

利点: これにより、サーバー側の負担が大幅に軽減されます。

もちろん、mysql にも永続的な接続が必要な場合は、mysql_pconnect() 関数を使用できます。

2. mysqli の使用:

1. mysqli のプロセス指向の使用:

$conn = mysqli_connect('localhost', 'root', '123', 'db_test') or ('error');
$sql = "select * from db_table";
$query = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($query)){
    echo $row['title'];
}
ログイン後にコピー

2. mysqli のオブジェクト指向の使用

#
$conn = mysqli('localhost', 'root', '123', 'db_test');
$sql = "select * from db_table";
$query = $conn->query($sql);
while($row = $query->fetch_array()){
    echo $row['title'];
}
ログイン後にコピー

##3. mysql_pconnect および mysqli_connect:

1. mysql_pconnect によって開かれた接続は閉じられません (mysql_close が呼び出されても、無効であるため閉じられません)。次回は同じマシンからの接続です。ユーザー名が同じデータベースに接続すると、PHP は新しい接続を再確立することなく、最後に確立された接続を自動的に使用します。

利点: 毎回データベースとの接続を確立するオーバーヘッドを節約します。

欠点: メモリを浪費し、接続を占有する必要があります。ユーザーの訪問数が多いとエラーが発生するため、mysql の max_connections パラメータをより大きな値に変更するか、mysql_connect() を使用して問題を解決する必要があります。

2. 簡単に言うと、MySQL_pconnect は PHP と MySQL の間の継続的な接続を確立するために使用されます。一般に、PHP の実行モードでは、スクリプトの実行開始時にすべてのリソースが初期化され、スクリプトの実行後にすべてのリソースが解放されます。終了した。

MySQL_pconnect の方法が異なり、MySQL_connect は毎回 tcp などで SQL サーバーとの関係を再確立するため、接続ごとに多くのサーバーリソースを消費します。

3. pconnect を使用する場合、MySQL への接続リクエストがあると、PHP は同じ接続 (同じユーザー名とパスワードで同じ MySQL サーバーに接続) が以前に確立されているかどうかを確認します。 , この接続を直接使用します。同じ接続の概念はプロセス用であることに注意してください。異なるプロセスによる MySQL_pconnect の確立により、複数の接続が確立されます。

4. Connect と pconnect には機能的な違いはなく、パフォーマンスの違いのみが生じます。

5. 一般に、PHP には 2 つの動作モードがあり、1 つは CGI として実行され、もう 1 つは Apache モジュールとして実行されます。

6. CGI として使用する場合、Connect は pconnect と何ら変わりません。CGI が実行されるたびにリソースが破棄され、クリーンアップされるからです。

[関連する推奨事項:

mysqlビデオチュートリアル

]

以上がmysqliとmysqlの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート