首頁 > 後端開發 > php教程 > 如何在 PHP 中正確使用 INSERT INTO 準備好的語句?

如何在 PHP 中正確使用 INSERT INTO 準備好的語句?

Patricia Arquette
發布: 2024-12-02 11:24:12
原創
645 人瀏覽過

How Can I Properly Use Prepared Statements with INSERT INTO in PHP?

將準備好的語句與INSERT INTO 合併

在遍歷PHP 的迷宮深處:資料物件時,在嘗試執行MySQL 時出現了一個令人困惑的難題使用準備好的語句進行查詢,特別是用於INSERT INTO 運算。考慮下面的程式碼片段:

$statement = $link->prepare("INSERT INTO testtable(name, lastname, age)
        VALUES('Bob','Desaunois','18')");

$statement->execute();
登入後複製

儘管遵循了所謂的規定方法,資料庫仍然頑固地保持著荒涼。讓我們來探索阻礙我們進步的缺失元素。

釋放 INSERT INTO 查詢準備語句潛力的關鍵在於參數綁定,這是一種允許將值安全且動態地整合到查詢中的技術。 SQL 語句。這是透過將佔位符合併到查詢中並隨後在執行期間以關聯數組的形式提供相應的值來實現的。

觀察修改後的程式碼:

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (:fname, :sname, :age)');

$statement->execute([
    'fname' => 'Bob',
    'sname' => 'Desaunois',
    'age' => '18',
]);
登入後複製

注意參數名稱的存在,'查詢中的 :fname'、':sname' 和 ':age'。這些用作實際值的佔位符,然後在execute() 函數中作為關聯數組提供。

或者,您可以使用「?」語法作為佔位符並傳遞值數組而不指定參數名稱:

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);
登入後複製

兩種方法都有各自的優點和缺點。使用命名參數可以增強可讀性,而「?」語法簡化了綁定值的過程。不過,最終兩者之間的選擇取決於個人喜好。

以上是如何在 PHP 中正確使用 INSERT INTO 準備好的語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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