我有一個插入查詢下面,並檢查插入是否成功使用:mysqli_stmt_execute
。查詢未執行,因爲這些值沒有輸入到我的數據庫中。但是,我正在進入if
條件。我不明白這。我之前已經將stmt_prepare
包裝在if
的條件下,並且這也正在返回true
它正在準備成功。我對bind語句也做了同樣的事情,現在我在最後的execute語句中使用它。全部返回true,但查詢未執行。表的結構是正確的。我甚至在phpmyadmin中執行插入操作,並將生成的查詢粘貼到我的AddToken變量中。準備語句不執行,但msqli_stmt_execute返回true
$con = 'my login credentials'
$stmt = mysqli_stmt_init($con);
$AddToken = "INSERT INTO `auth` VALUES ('',?, ?)";
mysqli_stmt_prepare($stmt, $AddToken);
mysqli_stmt_bind_param($stmt, "si", $Token, $ID);
if (mysqli_stmt_execute($stmt)){
$message2 = "here";
// worked
}
else{
//didn't work
$message2 = "here 2";
}
echo $message2;
編輯我不知道這個問題是,但我刪除了我的身份驗證表,並重新創建它和它的工作?
是您的'「」'保留對於主鍵?如果是這樣,請使用DEFAULT,而不是 – Mihai
@Mihai嘗試使用DEFAULT,使用和不使用引號,導致語句準備失敗 – user2363025