我無法找到錯誤,也無法從互聯網上找到想法。該數據庫具有密鑰、用戶IP 和日期。代碼段是:$last = $conn->query("SELECT LAST_INSERT_ID();");if (strcmp($last, "<empty string>") == 0) { $index = 0;} else { $index = $last + 1;}$stmt = $conn->prepare("INSERT INTO Users (key, userIP, date) VALUES (?, ?, ?)");$stmt->bind_param("iss", $key, $ip, $date);$key = $index;$ip = $_SERVER['REMOTE_ADDR'];$date = date('Y-m-d H:i:s');這個想法是我保存最后一個“密鑰”并為其添加 1。如果數據庫為空,它似乎不起作用。我看了好幾個小時,所以我的想法已經用完了。
1 回答

慕婉清6462132
TA貢獻1804條經驗 獲得超2個贊
您需要獲取查詢的結果。
$result = $conn->query("SELECT LAST_INSERT_ID();");
$row = $result->fetch_row();
$last = $row[0];
if ($last == "") {
$index = 0;
} else {
$index = $last + 1;
}
但是您不需要為此執行查詢,它有一個內置函數:
$last = $conn->insert_id;
另一個問題是這key是一個保留字,所以你需要用反引號引用它。
$stmt = $conn->prepare("INSERT INTO Users (`key`, userIP, date) VALUES (?, ?, ?)");
- 1 回答
- 0 關注
- 146 瀏覽
添加回答
舉報
0/150
提交
取消