Javascript Ajax数据-针对每个数据
我的ajax代码有问题。。。我有一个复选框列表,想法是将标记的复选框的数据插入数据库 如果仅选中一个复选框,则说明插入正确。但如果我选择例3,所有数据都显示在同一字段中,作为唯一值 例如: HTML 例如,如果我选中“test1”和“test2”,我将在MySQL的“name”字段中看到“test1,test2”。但我需要在不同的领域看到它们,而不是在同一个领域 我已经测试了“foreach($\u POST[“insert”]作为$value){insert…}但它对我没有帮助 有人知道我的错误吗 我非常感谢你的帮助。Javascript Ajax数据-针对每个数据,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我的ajax代码有问题。。。我有一个复选框列表,想法是将标记的复选框的数据插入数据库 如果仅选中一个复选框,则说明插入正确。但如果我选择例3,所有数据都显示在同一字段中,作为唯一值 例如: HTML 例如,如果我选中“test1”和“test2”,我将在MySQL的“name”字段中看到“test1,test2”。但我需要在不同的领域看到它们,而不是在同一个领域 我已经测试了“foreach($\u POST[“insert”]作为$value){insert…}但它对我没有帮助 有人知道我的错
关于,您也需要在服务器端进行循环:
$arr = explode(',', $_POST["insert"]);
foreach ($arr as $val) {
$query = 'INSERT INTO music (name,username) VALUES ("'.$val.'","'.$username.'")';
$result = mysqli_query($conn, $query);
}
您的代码易受sql注入攻击,您必须使用prepared语句您的意思是希望这两个值的行不同,对吗?是的,不同的行。我不希望它们“相同”“价值,是的!成功了。非常感谢。您知道是否可以使用另一个分隔符吗?因为有些值的名称是“,”。我可以使用例如…“%”吗?酷,想想YouneL的评论,你的代码很容易受到sql注入的攻击。呵呵!和我怎样做才能更安全?这就是他们在学校教我的方法……注意,如果字符串首先作为数组发送,则不需要通过删除
insert=insert.toString()来分解字符串代码>还应转换为参数化查询
<script>
$(document).ready(function(){
$('#submit').click(function(){
var insert = [];
$('.get_value').each(function(){
if($(this).is(":checked")){
insert.push($(this).val());
}
});
insert = insert.toString();
$.ajax({
url: "./functions/add_list.php",
method: "POST",
data:{insert:insert},
}
});
});
});
</script>
if(isset($_POST["insert"])){
$query = 'INSERT INTO music (name,username) VALUES ("'.$_POST["insert"].'","'.$username.'")';
$result = mysqli_query($conn, $query);
}
$arr = explode(',', $_POST["insert"]);
foreach ($arr as $val) {
$query = 'INSERT INTO music (name,username) VALUES ("'.$val.'","'.$username.'")';
$result = mysqli_query($conn, $query);
}