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