'delete'라는 ID가있는 버튼을 클릭하면 데이터베이스에서 행을 삭제해야하는 PHP 스크립트를 호출하기 위해 ajax 메서드를 사용하고 있습니다.PHP에서 MySQL DELETE 쿼리가 실행되지 않습니다.
$('#delete').click(function() {
var id = parseInt($('#content').attr('data-name'));
// The row in my database has the type integer
// Doing alert(id) correctly returns the value
$.ajax({
url : './php/delete.php',
type: 'POST',
data : id,
success: function()
{
alert('success deleting ' + id);
location.reload();
// These both get called correctly, but the row is not actually getting deleted
}
});
});
내 PHP 코드에 phpMyAdmin에서 같은 쿼리를 실행
<?php
$con=mysqli_connect("localhost","root","tulula15","content_test");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"DELETE FROM htmlcontent WHERE id='$_POST[id]'");
mysqli_close($con);
?>
입니다 제대로
DELETE FROM htmlcontent WHERE id=2
그래서 아약스가 성공적으로 반환하는 행을 삭제하지만, 쿼리가 실행되지 않습니다.
누군가가 제가 매우 감사하겠습니다이 문제를 해결하는 데 도움 수 있다면
..
당신은 SQL 주입에 높게 취약합니다. –
1. 쿼리를 실행할 때 mysqli 오류 처리를 사용하고 2. 서버 로그 파일을 살펴보십시오. – arkascha
prepare 문을 사용하여 $ _POST [ 'id'] 변수를 매개 변수화하십시오. – aarryy