我使用ajax,我不能告訴錯誤是什麼,但我確信數據已插入我的數據庫。這裏是我的嘗試:準備聲明插入在PHP失敗在我的情況
if(isset($_POST['user_id']) && isset($_POST['content']) && isset($_POST['date']) && isset($_POST['category_id'])){
$content = $_POST['content'];
$date = $_POST['date'];
$user_id = $_POST['user_id'];
$category_id = $_POST['category_id'];
$stmt = $db->prepare("INSERT INTO post_items(`post_id`,`content`,`date`,`user_id`,`category_id`)
VALUES (?,?,?,?)");
$stmt = bind_param('ssii',$content,$date,$user_id,$category_id);
if($stmt->execute()) {
echo mysqli_insert_id($db);
}else{
echo "Something is wrong. Insert failed..";
}
}
我的舊的工作版本(與缺乏安全的)如下所示:
if(isset($_POST['user_id']) && isset($_POST['content']) && isset($_POST['date']) && isset($_POST['category_id'])){
$content = $_POST['content'];
$date = $_POST['date'];
$user_id = $_POST['user_id'];
$category_id = $_POST['category_id'];
/* $result = $db->query("INSERT INTO post_items(`content`,`date`,`user_id`,`category_id`)
VALUES (".$content."', '".$date."', '".$user_id."', '".$category_id."')");*/
$stmt = $db->prepare("INSERT INTO post_items(`post_id`,`content`,`date`,`user_id`,`category_id`)
VALUES (?,?,?,?)");
$stmt = bind_param('ssii',$content,$date,$user_id,$category_id);
if($stmt->execute()) {
echo mysqli_insert_id($db);
}else{
echo "Something is wrong. Insert failed..";
}
}
我不知道我做錯了什麼在這裏,因爲它是第一次我已經使用這個材料。
@ RonniSkansing所以它應該如何? – user3277912
一般來說,我會建議檢查錯誤並將它們記錄到ajax代碼中的文件中。然後,您可以在調試時觀看日誌文件,以便您不會完全處於黑暗中。 –
是否有'post_id'設置爲'AUTO_INCREMENT'?如果是這樣,拿出來。另外,你的值/綁定不匹配。 –