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() を通じてインストールが成功したかどうかを確認できます:

PDO インストール

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

phpinfo() を通じてインストールが成功したかどうかを確認できます:

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 "连接成功";
?>

上記のオブジェクト指向の例では、$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();
}
?>

上記の PDO インスタンスではデータベース (myDB) を指定していることに注意してください。 PDO は、接続プロセス中にデータベース名を設定する必要があります。指定しない場合、例外がスローされます。

接続を閉じる

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

Instance (MySQLi - オブジェクト指向)

$conn->close();

Instance (MySQLi - Procedural)

mysqli_close ( $conn);

インスタンス (PDO)

$conn = null;


学び続ける
||
<?php echo ""hello world"; ?>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜