Javascript 通过AJAX将复选框id发布到php

Javascript 通过AJAX将复选框id发布到php,javascript,php,ajax,checkbox,Javascript,Php,Ajax,Checkbox,我想使用复选框创建网络图。如果我选中一个或多个复选框,然后单击按钮,我想从选中的复选框中绘制网络图。它实际上可以工作,但如果我选择多个节点,它只打印一个节点,但如果我只选择一个,它工作得很好。我怎样才能解决这个问题 index.php 使用下面的查询,需要在mysql的参数中使用 $sql2=$conn->prepare("SELECT id, data FROM table1 WHERE id IN (".$_POST['insert'].") GROUP BY id"); 尝试更改W

我想使用复选框创建网络图。如果我选中一个或多个复选框,然后单击按钮,我想从选中的复选框中绘制网络图。它实际上可以工作,但如果我选择多个节点,它只打印一个节点,但如果我只选择一个,它工作得很好。我怎样才能解决这个问题

index.php
使用下面的查询,需要在mysql的参数中使用

$sql2=$conn->prepare("SELECT id, data FROM table1 WHERE id IN (".$_POST['insert'].") GROUP BY id");

尝试更改
WHERE id=用于
中的id(?)
否!不要用这个!这是一个安全漏洞。你正在准备一份声明。执行语句时传递
$\u POST
值。这个变量没有任何验证,所以在那里!这非常适合SQL注入。它真正的$\u POST从未直接使用过,但问题是SQL函数只需要在函数中使用,而不是等于。如果我发送一篇带有“
”;drop table table1;-->
”的帖子,它将在里面插入SQL代码。这是一个巨大的srcurity漏洞!
if(isset($_POST["insert"])){

            $sql2=$conn->prepare("SELECT id, data
                FROM table1

                WHERE id=?
                GROUP BY id");

            $sql2 -> bind_param('i', $_POST['insert']);
            $sql2 -> execute();
            $result2 = $sql2 -> get_result();
            $sql2 -> close();

            while($row = mysqli_fetch_assoc($result2)){
                $id2 = $row['id'];
                $data = $row['data'];


                $arr[] = array("id" => $id2,
                    "label" => $data);
            }

        }
$sql2=$conn->prepare("SELECT id, data FROM table1 WHERE id IN (".$_POST['insert'].") GROUP BY id");