首頁 > 資料庫 > mysql教程 > MySQL 函數到 PDO:一種安全且現代的方法?

MySQL 函數到 PDO:一種安全且現代的方法?

Linda Hamilton
發布: 2025-01-10 09:12:40
原創
1004 人瀏覽過

MySQL Functions to PDO: A Secure and Modern Approach?

將 MySQL 函式轉換為 PDO

為什麼要轉換?

由於 MySQL 函數的架構已過時,缺乏安全功能以及全域狀態依賴性,因此已被棄用。 PDO(PHP 資料物件)為資料庫操作提供了現代化、安全且物件導向的替代方案。

連接到資料庫

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>
登入後複製

使用 fetch:

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

以上是MySQL 函數到 PDO:一種安全且現代的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板