所以我想刪除網站上的評論,也從數據庫中刪除,但它只是在網站上找到。點擊刪除按鈕後,評論消失了,但我的數據庫中沒有任何更改。刷新頁面後,我刪除的評論再次出現。 所以我想,不知何故,ajax使得php再次與MySQL數據庫斷開連接。使用ajax後php無法連接數據庫
的jQuery:
$(".delete").each(function (index4) {
$(this).on("click",function (event) {
$(this).parent().parent().load("../public/form/delete_comments.php", {index4:index4}, function() {
$(this).remove();
});
})
PHP:
<?php
require_once "../../private/initialize.php";
$id = $_SESSION['id'];
$thread_clicked = isset($_POST['index4'])?$_POST['index4']:'';
$req_user = "SELECT * FROM log_in WHERE id='" .$id. "'";
$result_user = mysqli_query($db,$req_user);
$subject_user = mysqli_fetch_assoc($result_user);
$req = "DELETE FROM comments WHERE user=`" .$subject_user['account']. "` AND c_id=`" .$thread_clicked. "`";
$result = mysqli_query($db,$req);
更新:我改變了Ajax:$(this).parent().parent().load("/yyqGS/public/form/delete_comments.php",{index4:index4});
,但仍然沒有做任何更改的數據庫。
UPDATE:
<?php
require_once "../../private/initialize.php";
session_start();
$id = $_SESSION['id'];
$thread_clicked = isset($_POST['index4'])?$_POST['index4']:'';
$thread_clicked = $thread_clicked +1;
$req_user = "SELECT * FROM log_in WHERE id='.$id.'";
$result_user = mysqli_query($db,$req_user);
$subject_user = mysqli_fetch_assoc($result_user);
$req = "DELETE FROM comments WHERE user='" .$subject_user['account']. "' AND c_id='" .$thread_clicked. "'";
$result = mysqli_query($db,$req);
if (!$req) {
printf("Error: %s\n", $mysqli_error($db));
}
else{
echo $result;
}
我得到了1次每次我刪除一條評論,但是數據庫依然不改!
魔法剛剛發生!我甚至不知道我做了什麼(我固定引號問題),但它只是知道!
<?php
require_once "../../private/initialize.php";
session_start();
$id = $_SESSION['id'];
$thread_clicked = isset($_POST['index4'])?$_POST['index4']:'';
$thread_clicked = $thread_clicked +1;
$req_user = "SELECT * FROM log_in WHERE id='".$id."'";
$result_user = mysqli_query($db,$req_user);
$subject_user = mysqli_fetch_assoc($result_user);
$req = "DELETE FROM comments WHERE user='" .$subject_user['account']. "' AND c_id='" .$thread_clicked. "'";
$result = mysqli_query($db,$req);
if (!$req) {
printf("Error: %s\n", $mysqli_error($db));
}
else{
echo $req;
}
?>
檢查您的網絡中的ajax網址是否正確? – user6606700
@ user6606700它應該是,因爲php文件可以得到index4的值。 –
此代碼容易受到sql注入的影響,並且兩個sql查詢可以合併。使用準備的語句! – RamRaider