ホームページ > バックエンド開発 > PHPチュートリアル > MySQL 関数から PDO_MySQL に移行するにはどうすればよいですか?

MySQL 関数から PDO_MySQL に移行するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-26 08:54:10
オリジナル
686 人が閲覧しました

How to Migrate from MySQL Functions to PDO_MySQL?

MySQL 関数を PDO で置き換える方法

MySQL 関数は現在非推奨となっており、将来の PHP バージョンでは削除される予定です。代わりに MySQLi または PDO_MySQL を使用する必要があります。

PDO の実装

PDO は、MySQL や PDO_MySQL などのさまざまなデータベースに接続するための一貫したインターフェイスを提供します。 MSSQL.

接続:

  • MySQL:

    $dsn = 'mysql:dbname=databasename;host=127.0.0.1';
    $dbh = new PDO($dsn, 'dbuser', 'dbpass');
    ログイン後にコピー
  • MSSQL:

    $dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename';
    $dbh = new PDO($dsn, 'dbuser', 'dbpass');
    ログイン後にコピー

実行中クエリ:

PDO は準備されたステートメントを使用し、SQL インジェクションの脆弱性を防ぎます。

$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
ログイン後にコピー

クエリの実行:

準備と実行を使用します。変数の場合クエリ。

$query = $dbh->prepare($SQL);
$query->execute([':username' => 'someone']);
ログイン後にコピー

結果の取得:

結果を取得するには、fetch または fetchAll を使用します。

while ($row = $query->fetch()) {
    echo $row['ID'], $row['EMAIL'];
}
ログイン後にコピー

例外処理:

PDO 例外を有効にする処理。

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
ログイン後にコピー

コンビニエンス クラス:

class PDOConnection {
    function __construct($dsn, $username, $password) {
        $this->connection = new PDO($dsn, $username, $password);
        $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $this->connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    }

    function query($SQL) { return $this->connection->query($SQL); }
    function prepare($SQL, $params = []) { return $this->connection->prepare($SQL)->execute($params); }
}
ログイン後にコピー

以上がMySQL 関数から PDO_MySQL に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート