這是一個好方法,從SQL表中刪除所有選定的行?刪除行與AJAX和PHP
該代碼工作正常,但也許有其他或更好的方法來做到這一點。真正的escape_string函數是在好的地方,或者我應該放在foreach循環,在sql查詢之前?
$('.deleteRows').click(function(e)
{
e.preventDefault();
var val = [];
if(confirm("Biztos, hogy törölni szeretné a kijelölt sorokat?"))
{
$(':checkbox:checked').each(function(i){
val[i] = $(this).val();
});
$.ajax({
data: { val:val },
type: 'POST',
url: 'files/delete_all_uzenet.php',
success: function(data)
{
var result = $.trim(data);
$('#newsletterResult').html(data);
$('#newsletterModal').modal('show');
},
complete: function()
{
setTimeout(function()
{
location.reload();
}, 4000);
}
});
}
return false;
});
php文件:如果你在一個查詢合併所有業務
<?php
include_once("../../files/connect.php");
if(isset($_POST['val']))
{
foreach($_POST['val'] as $v)
{
mysqli_query($kapcs, $sql = "DELETE FROM kapcsolatfelvetel WHERE kapcsolat_id = '".mysqli_real_escape_string($kapcs, $v)."'") or die(mysqli_error($kapcs));
}
echo 'Rows deleted';
}
else
{
exit("No rows selected.");
}
?>
不,不是真的,使用準備好的參數化查詢來避免SQL注入 – RiggsFolly