ホームページ >バックエンド開発 >PHPの問題 >php が mysql に接続する方法に違いはありますか?

php が mysql に接続する方法に違いはありますか?

WBOY
WBOYオリジナル
2022-04-26 17:38:582704ブラウズ

違い: 1. PDO は 12 の異なるデータベースで使用されますが、MySQLi は mysql データベースでのみ使用されます; 2. PDO が接続を閉じる方法は "$conn = null" ですが、MySQLi が接続を閉じる方法は "$conn = null" です。接続は「$conn->close()」または「mysqli_close()」です。

php が mysql に接続する方法に違いはありますか?

この記事の動作環境: Windows 10 システム、PHP バージョン 7.1、Dell G3 コンピューター。

php が mysql に接続する方法に違いはありますか?

php5.3 バージョン以降、データベースに接続する方法は 2 つあります。1 つは mysqli 経由で、もう 1 つは mysqli 経由です。 PDO を介したデータベースへの接続と mysqli を介したデータベースへの接続は、mysqli (オブジェクト指向) と mysqli (プロセス指向) の 2 つの状況に分けられます。
3 つの方法があります:
1) PDO が mysql に接続します
2 ) mysqli (オブジェクト指向) がデータベースに接続します
3) mysqli (プロセス指向) がデータベースに接続します
(実際には、MySQL 拡張機能を使用するという別の接続方法があります。ただし、これは2012 での使用は推奨されません。)

PDO 接続の例

まず、phpinfo() コマンドを使用して、php に PDO がインストールされているかどうかを確認できます (私はこれを使用しています) php7、デフォルトですでにインストールされています)
インストールされていない場合は、Web ページを参照してください: http://php.net/manual/en/pdo.installation.php
php が mysql に接続する方法に違いはありますか?
コード例:

<?php $servername = "localhost";
$username = "root";
$password = "root";
try {
    $conn = new PDO("mysql:host=$servername;dbname=jtsys",
        $username, $password);
    echo "连接成功";
}
catch(PDOException $e)
{
    
    echo $e->getMessage();
}
?>

(データベース ユーザー名とパスワード、および選択したデータベース名 (dbname)

mysqli (オブジェクト指向) 接続を使用するときの変更に注意してください。インスタンス

まず、phpinfo() コマンドを使用して mysqli が php にインストールされているかどうかを確認できます (私は php7 を使用しています。デフォルトですでにインストールされています)
インストールされていない場合は、を参照してください。 Web ページ: http://php.net/manual/en/mysqli.installation.php
php が mysql に接続する方法に違いはありますか?
コード例:

<?php $servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn =
new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$dbname="jtsys";
mysqli_select_db($conn,$dbname);
echo "连接成功";
?>

mysqli (プロセス指向) への接続データベース

コード例:

<?php $servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn = mysqli_connect($servername, 
$username, $password);
// 检测连接
if (!$conn) {
    die("Connection 
failed: " . mysqli_connect_error());
}
$dbname="jtsys";
mysqli_select_db($conn,$dbname);
echo "连接成功";
?>

3 つの違い:

1. 接続を閉じる方法:
PDO:

$conn = null;

MySQLi (オブジェクト指向):

$conn->close();

MySQLi (プロセス指向):

mysqli_close($conn);
  • PDO は、 12 の異なるデータベース、MySQLi は MySQL データベース専用です。
  • プロジェクトで複数のデータベース間を切り替える必要がある場合は、接続文字列と部門クエリ ステートメントを変更するだけで済むように、 PDO を使用することをお勧めします。 , 別のデータベースの場合は、クエリを含むすべてのコードを書き直す必要があります。
  • どちらもオブジェクト指向ですが、MySQLi は API インターフェイスも提供します。
  • 両方ともプリペアド ステートメントをサポートしています。プリペアド ステートメントSQL インジェクションを防ぐことができ、Web プロジェクトのセキュリティにとって非常に重要です。
    MySQLi オブジェクト指向とプロセス指向の違い:
    多くの PHP プログラマーはオブジェクト指向プログラミングに慣れていないため、mysqli クラス ライブラリは彼らが使用できるこのメソッドを提供します。これは、mysql 拡張機能を使用している一部のユーザーにとって、mysqli にすぐに移行するのにも便利です。実際、mysqli_query() はオブジェクト指向の呼び出しプロセスをカプセル化したものです。

推奨学習: 「PHP ビデオ チュートリアル

以上がphp が mysql に接続する方法に違いはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。