首頁 >資料庫 >mysql教程 >儘管通過了所有調試檢查,為什麼我的 MySQLi 插入失敗?

儘管通過了所有調試檢查,為什麼我的 MySQLi 插入失敗?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-15 17:55:02302瀏覽

Why is My MySQLi Insertion Failing Despite Passing All Debug Checks?

使用 MySQLi 插入資料

此程式碼似乎正在執行所有偵錯檢查,但無法將新資料插入資料庫。讓我們逐步分析一下。

程式碼嘗試檢查「username」是否已存在於「UserData」表中。如果沒有,它會嘗試新增一行。然而,它在插入部分遇到了問題。

辨識問題

問題在於為插入語句宣告綁定參數的方式。不應多次傳遞單一變數(例如 $username、$password 兩次),而應將它們與其對應的類型一起傳遞。

bind_param 函數期望變數型別位於變數本身之前。因此,綁定參數的正確方法是:

$stmt2->bind_param('ss', $username, $password);

或者,如果您使用PHP 5.6 或更高版本,則可以使用擴充運算子(...) 來簡化:

$data = ['user' => 'someUser', 'password' => 'secret'];
$stmt2->bind_param('ss', ...$data);

一旦參數綁定正確,插入就會成功。請注意,您的問題中提供的程式碼有一些可能令人困惑或不必要的註釋;為了清晰起見,建議將其刪除。

以上是儘管通過了所有調試檢查,為什麼我的 MySQLi 插入失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn