ホームページ >データベース >mysql チュートリアル >PDO への MySQL 関数: 安全で最新のアプローチ?

PDO への MySQL 関数: 安全で最新のアプローチ?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-10 09:12:401008ブラウズ

MySQL Functions to PDO: A Secure and Modern Approach?

MySQL 関数を PDO に変換する

なぜ切り替えるのですか?

MySQL 関数は、古いアーキテクチャ、セキュリティ機能の欠如、およびグローバル状態の依存関係のため、非推奨になりました。 PDO (PHP Data Objects) は、データベース操作のための最新の安全なオブジェクト指向の代替手段を提供します。

データベースに接続します

MySQL:

<code class="language-php">$dsn = 'mysql:dbname=databasename;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);</code>

MSSQL:

<code class="language-php">$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);</code>

クエリを実行

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

名前付き変数を使用します:

<code class="language-php">$SQL = 'SELECT ID, EMAIL FROM users WHERE user=:username';
$stmt = $dbh->prepare($SQL);
$stmt->execute(['username' => $username]);</code>

インデックス変数を使用します:

<code class="language-php">$SQL = 'SELECT ID, EMAIL FROM users WHERE user=?';
$stmt = $dbh->prepare($SQL);
$stmt->execute([$username]);</code>

結果を取得する

fetchAll を使用します:

<code class="language-php">$rows = $stmt->fetchAll();</code>

フェッチを使用します:

<code class="language-php">while ($row = $stmt->fetch()) {
  echo $row['ID'], $row['EMAIL'];
}</code>

以上がPDO への MySQL 関数: 安全で最新のアプローチ?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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