0
我在從數據庫中刪除行時遇到問題。我嘗試綁定參數(id)根據哪一行已被刪除。它返回成功消息,該行已被刪除,但該行實際上未從數據庫中刪除。 這裏就是我使用AJAX調用刪除腳本代碼:使用PHP從mysql數據庫刪除行時出錯
<script>
$("#del").click(function(){
var id;
$("input:checked").each(function(){
id=$(this).parent().parent().children(".id").html();
});
var datastring=JSON.stringify(id);
$.ajax({
type:'post',
url:'delete.php',
data: {data:datastring},
success: function(data){
alert(data);
}
});
});
</script>
這裏的刪除腳本(delete.php)
if(isset($_POST["data"]))
{
$id=$_POST["data"];
$db=mysqli_connect("localhost","root","","products");
if($db)
{
$query=mysqli_prepare($db,"DELETE FROM product_info WHERE prod_id=?");
$query->bind_param('i',$id);
$result=$query->execute(array($id));
if($result)
echo "Deleted successfully";
else
echo "Error in deletion of product";
$query->close();
}
else
echo "Error Connecting to DB";
}
else
echo "POST not set";
「刪除成功」的說法相呼應回來,但警告該行實際上並未從數據庫中刪除。如果我省略bind_param部分並直接在查詢中指定id,那麼該記錄將被刪除。 幫助!
哪個值包含'id'在jQuery的功能? – 2014-12-05 10:51:10
從'$ _POST ['data']'中獲取'var_dump($ id)'後,檢查它是否爲綁定所需的格式。但從它的外觀來看,你試圖將數組轉換成JSON,在這種情況下,你不能直接使用'='運算符,你需要渲染一個'IN'條件。 – fejese 2014-12-05 10:56:25
即使在使用在條件查詢中,結果是相同的@fejese – leMS 2014-12-05 11:08:55