PHP完全独学マニュアルlogin
PHP完全独学マニュアル
著者:php.cn  更新時間:2022-04-15 13:53:54

PHP MySQL接続




PHP 5 以降では、次の方法を使用して MySQL に接続することをお勧めします:

  • MySQLi 拡張機能 (「i」は改良されたことを意味します)

  • PDO (PHP データ オブジェクト) )

PHP の初期バージョンでは、MySQL 拡張機能を使用します。ただし、この拡張機能は 2012 年に廃止されました。


MySQLi と PDO を使用する必要がありますか?

簡単に答えたい場合は、「使いやすい方を使用してください」と答えてください。

MySQLi と PDO には独自の利点があります。

PDO は 12 の異なるデータベースで使用され、MySQLi は MySQL データベースのみを対象としています。

そのため、プロジェクトで複数のデータベース間を切り替える必要がある場合は、接続文字列と部門クエリ ステートメントのみを変更する必要があるように、PDO を使用することをお勧めします。 MySQLi では、別のデータベースを使用する場合、クエリを含むすべてのコードを書き直す必要があります。

どちらもオブジェクト指向ですが、MySQLi も API インターフェイスを提供します。

どちらも準備されたステートメントをサポートします。 準備されたステートメントは SQL インジェクションを防ぐことができ、Web プロジェクトのセキュリティにとって非常に重要です。


MySQLi と PDO は MySQL インスタンスに接続します

この章と次の章では、次の 3 つのメソッドを使用して MySQL の PHP 操作を説明します。

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

  • MySQLi (指向プロセス)

  • PDO


MySQLi のインストール

Linux および Windows: ほとんどの場合、MySQLi 拡張機能は、php5 mysql パッケージのインストール時に自動的にインストールされます。

インストールの詳細については、http://php.net/manual/en/mysqli.installation.php

phpinfo():

mysqli.jpg


PDOインストールを通してインストールが成功したかどうかを確認できます

インストールについて 詳細については、 http://php.net/manual/en/pdo.installation.php を参照してください。

インストールが成功したかどうかは、phpinfo():

pdo.jpg


PHP 接続を通じて確認できます。 MySQL へ

MySQL への訪問では、データベースの前に、まずデータベース サーバーに接続する必要があります:

インスタンス (MySQLi - オブジェクト指向)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = 
new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
Note 上記の点に注意してください。オブジェクト指向の例 $connect_error は PHP 5.2.9 にあり、5.3.0 で追加されました。以前のバージョンとの互換性が必要な場合 次のコードを使用して置き換えてください:

//接続を検出
if (mysqli_connect_error()) {
die("データベース接続に失敗しました: " .mysqli_connect_error());
}

インスタンス (MySQLi - 手続き型)

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

インスタンス (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", 
$username, $password);
    echo "连接成功";
}
catch(PDOException $e)
{
    
echo $e->getMessage();
}
?>
Note上記の PDO インスタンスではデータベース ( myDB)。 PDO は、接続プロセス中にデータベース名を設定する必要があります。指定しない場合、例外がスローされます。

接続を閉じます

スクリプトの実行後、接続は自動的に閉じられます。次のコードを使用して接続を閉じることもできます:

インスタンス (MySQLi - オブジェクト指向)

$conn->close();

インスタンス (MySQLi - プロシージャル)

mysqli_close($conn);

インスタンス (PDO)

$conn = null;

関連する推奨ビデオチュートリアル: "mysql チュートリアル"http://www.php.cn/course/list/51.html


PHP中国語ウェブサイト