題目:
從mysql_m. 遷移到什麼價函數?
答案:
與 mysql_real_escape_string 不同,PDO 透過使用準備好的語句來執行自動轉義。準備好的語句使用佔位符(例如?),而不是直接將使用者輸入插入 SQL 查詢中,從而防止 SQL 注入漏洞。
範例:
<code class="php">try { $db = new PDO(...); } catch (PDOException $e) { echo "Error connecting to mysql: " . $e->getMessage(); } if (isset($_POST['color'])) { $stmt = $db->prepare("SELECT id, name, color FROM Cars WHERE color = ?"); $stmt->execute([$_POST['color']]); $cars = $stmt->fetchAll(\PDO::FETCH_ASSOC); var_dump($cars); }</code>
在此範例中, $_POST['color'] 在準備好的語句中作為參數傳遞,保護查詢免受注入。
附加說明:
以上是從 mysql_* 遷移到 PDO 時如何轉義使用者輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!