我已尝试传递“隐藏”值以删除记录。但是JS函数发送数据,但是mysql代码不起作用。使用“插入到”,它可以工作,为此,奇怪的是,相同的代码不起作用。
This is my code.
<script type="text/javascript">
function invia()
{
var hides = document.getElementById('hide').value;
$.ajax({
type: 'POST',
url: "note_db_php/delete_db_note.php",
data: {"hide": hides},
success: function(data){
console.log("Dati inviati");
},
error: function(data) {
console.log("Dati non inviati");
}
});
};
</script>
这是删除页面;
<?php
$servername = "";
$username = "";
$password = "";
$dbname = "";
$hide = $_POST["hide"];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// sql to delete a record
$sql = "DELETE FROM note WHERE id='$hide'";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
?>
缺少属性dataType
,type
应该为method
。
$.ajax({
url:"note_db_php/delete_db_note.php",
method:'POST',
dataType:'json',
data:{
"hide": hides
},
success:function(data) {
console.log("Dati inviati");
},
error: function (request, status, error) {
console.log("Dati non inviati");
}
});
替换您的查询-
$sql = "DELETE FROM note WHERE id='$hide'";
有一个以下-
$sql = "DELETE FROM note WHERE id = ".$hide;
并且在ajax端,请控制台data
。如果出现错误,请回显您的查询(回显$ sql),然后在PHPMyAdmin中复制并运行查询。
我认为问题出在SQL查询中-$ sql =“从注释中删除ID = $ hide的注释”;
您可以将$ hide放在单引号中并尝试吗?
$ sql =“从注释WHERE id ='$ hide'中删除”; //这会起作用
这里是您在sql语法中的问题,和一行
在此处输入代码否则在您的代码上打开会导致错误的代码
更新的查询在这里,它的工作原理
// sql to delete a record
$sql = "DELETE FROM note WHERE id='$hide'";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}