由於 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中文網其他相關文章!