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 サイトの他の関連記事を参照してください。