最新のWeb開発のチュートリアル
×

PHP チュートリアル

PHP HOME PHP イントロ PHP インストール PHP 構文 PHP 変数 PHP エコー/印刷 PHP データの種類 PHP ストリング PHP 定数 PHP 演算子 PHP If...Else...Elseif PHP Switch PHP whileループ PHP Forループ PHP 機能 PHP 配列 PHP 配列のソート PHP スーパーグローバル

PHP 取り扱い

PHP フォーム 取り扱い PHP フォーム 検証 PHP フォーム 必須 PHP フォーム URL/E-mail PHP フォーム コンプリート

PHP 高度な

PHP 多次元配列 PHP 日時 PHP 含めます PHP ファイル 取り扱い PHP ファイル オープン/読みます PHP ファイル 作成/書きます PHP ファイル アップロード PHP Cookies PHP Sessions PHP フィルター PHP Filters 高度な PHP エラー 取り扱い PHP 例外

MySQL Database

MySQL データベース MySQL 接続 MySQL Create DB MySQL Create 表 MySQL Insert Data MySQL 最後のIDを取得します MySQL 複数の挿入 MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML パーサー PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX イントロ AJAX PHP AJAX データベース AJAX XML AJAX ライブ検索 AJAX RSSリーダー AJAX 世論調査

PHP Examples

PHP 例 PHP クイズ PHP 証明書

PHP 参照

PHP アレイ PHP カレンダー PHP 日付 PHP ディレクトリ PHP エラー PHP ファイルシステム PHP フィルタ PHP FTP PHP HTTP PHP Libxml PHP 郵便物 PHP 数学 PHP その他 PHP MySQLiを PHP SimpleXML PHP 文字列 PHP XML PHP Zip PHP 時間帯

 

PHP MySQLへの接続


PHP 5以降では使用してMySQLデータベースを操作できます。

  • mysqli拡張 (the "i" stands for improved)
  • PDO (PHP Data Objects)

PHPの以前のバージョンでは、MySQL拡張を使用しました。 しかし、この拡張は、2012年に廃止されました。


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

あなたは短い答えを必要とする場合、それは次のようになり"Whatever you like"

MySQLiをとPDOの両方が彼らの利点があります。

PDOは、MySQLiをのみMySQLデータベースで動作するよう12種類のデータベース・システム上で動作します。

あなたが別のデータベースを使用するようにプロジェクトを切り替えることがあればそう、PDOは、プロセスが容易になります。 あなただけの接続文字列と、いくつかのクエリを変更する必要があります。 MySQLiを使用すると、コード全体を書き換える必要があります - クエリが含まれています。

どちらも、オブジェクト指向ですが、MySQLiをも手続き型APIを提供しています。

どちらも、プリペアドステートメントをサポートしています。 プリペアドステートメントは、SQLインジェクションから保護し、Webアプリケーションのセキュリティのために非常に重要です。


MySQLiをとPDO構文の両方でのMySQLの例

この中で、および以下の章では、我々は、PHPとMySQLを扱う3つの方法を示します。

  • MySQLiを(object-oriented)
  • MySQLiを(procedural)
  • PDO

MySQLiをインストール

LinuxとWindowsの場合:PHP5のMySQLのパッケージがインストールされている場合MySQLi拡張モジュールが自動的に、ほとんどの場合、インストールされています。

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


PDOのインストール

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


MySQLへの接続を開きます。

私たちは、MySQLデータベース内のデータにアクセスする前に、我々は、サーバーに接続できるようにする必要があります:

(MySQLi Object-Oriented)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

オブジェクト指向の例に注意してください上記の:$ connect_errorはPHP 5.2.9および5.3.0まで壊れていました。 あなたは5.2.9と5.3.0より前のPHPのバージョンとの互換性を確保する必要がある場合は、次のコードを代わりに使用します。

//接続を確認してください
もし( mysqli_connect_error() ){
die("Database connection failed: " . mysqli_connect_error() )。
}

(MySQLi Procedural)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

実施例(PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

PDOの例では、我々はデータベースにも指定されている上記のことに注意してください(myDB) 。 PDOは接続する有効なデータベースが必要です。 何のデータベースが指定されていない場合、例外がスローされます。

ヒント:PDOの大きな利点は、それが私達のデータベースクエリで発生する可能性のある問題を処理するために例外クラスを持っているということです。 例外がtry {}ブロック内でスローされた場合、スクリプトが実行を停止し、最初に直接流れるcatch() {}ブロック。


接続を閉じます

スクリプトが終了したときに接続が自動的に閉じられます。 前に接続を閉じるには、次のコマンドを使用します。

(MySQLi Object-Oriented)

$conn->close();

(MySQLi Procedural)

mysqli_close($conn);

実施例(PDO)

$conn = null;