#このチュートリアルの動作環境: Windows7 システム、PHP7.1&&mysql8 バージョン、DELL G3 コンピューター違い: mysqli は永続的な接続関数ですが、mysql は非永続的な接続関数です。 MySQL は接続されるたびに接続プロセスを開きます。mysqli は常に同じ接続プロセスを使用するため、サーバー側の負荷を大幅に軽減できます。
1。 mysql と mysqli の関連概念:
1. Mysql と mysqli はどちらも PHP の関数セットであり、mysql データベースとはほとんど関係がありません。 2. php5 バージョンより前は、php の mysql 関数は通常、mysql データベースを駆動するために使用されていました。たとえば、mysql_query() 関数はプロセス指向です。ある意味、これは mysql システム関数の拡張バージョンであり、より安定性、効率性、安全性が向上しています。mysql_query() に対応するのは、オブジェクト指向であり、オブジェクトを使用して操作および駆動します。 mysql データベース2. mysql と mysqli の違い:
mysqli は永続接続関数ですが、mysql は非永続接続関数です。接続機能。 mysql 接続: 2 回目に使用されるたびに、新しいプロセスが再度開かれます。 mysqli 接続: 常に同じプロセスを使用します。 利点: これにより、サーバー側の負担が大幅に軽減されます。 Mysqli は、トランザクションなどのいくつかの高度な操作をカプセル化し、DB 操作プロセスで使用可能な多くのメソッドもカプセル化します。3. mysql と mysqli の使用法:
1: mysql (プロセス モード):
$conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库 mysql_select_db('data_base'); //选择数据库 $result = mysql_query('select * from data_base');//第二个可选参数,指定打开的连接 $row = mysql_fetch_row( $result ) ) //只取一行数据 echo $row[0]; //输出第一个字段的值
2. mysqli (オブジェクト モード):
$conn = new mysqli('localhost', 'user', 'password','data_base'); //要使用new操作符,最后一个参数是直接指定数据库 //假如构造时候不指定,那下一句需要$conn -> select_db('data_base')实现 $result = $conn -> query( 'select * from data_base' ); $row = result -> fetch_row(); //取一行数据 echo row[0]; //输出第一个字段的值
new mysqli('localhost', usenamer', 'password', 'databasename'); エラーが報告され、プロンプトは次のようになります:
Fatal error: Class 'mysqli' not found in ...
4. mysql_connect() および mysqli_connect()
1. mysqli を使用すると、データベース名をパラメータとして mysqli_connect( ) 関数は、mysqli のコンストラクターに渡すこともできます; 2. mysqli_query() または mysqli object query query() メソッドが呼び出される場合は、接続識別子が必要です。 推奨学習: 「PHP ビデオ チュートリアル 」
以上がphpのmysqlとmysqliの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。