Php 数据库没有';数组数据集不能插入

Php 数据库没有';数组数据集不能插入,php,mysql,sql,insert,Php,Mysql,Sql,Insert,下面给出了我的全部代码。我有一个数组$members存储一些ID。我运行一个循环,在表中搜索这些ID,检索它们各自的名称,并将它们存储在另一个数组中$members\u name。然后在表中插入这两个数组。$members数组的大小介于1-6之间 <?php session_start(); $members = $_POST['mem']; $n=count($members); foreach($members as $key=&

下面给出了我的全部代码。我有一个数组
$members
存储一些ID。我运行一个循环,在表中搜索这些ID,检索它们各自的名称,并将它们存储在另一个数组中
$members\u name
。然后在表中插入这两个数组。
$members
数组的大小介于1-6之间

<?php
    session_start();
        $members = $_POST['mem'];
        $n=count($members);
        foreach($members as $key=>$value){
            $res = mysql_query("SELECT id,name,email FROM users WHERE id='".$value."'");
            if ($res === false) {
                echo mysql_error();
                die;
            }
            $row = mysql_fetch_assoc($res);

            if($row['id'])
            {
                $members_name[]=$row['name'];
                $members_email[]=$row['email'];
            }
        }
        $sess_uid = $_SESSION['id'];
        $sess_email = $_SESSION['email'];
        $sess_name = $_SESSION['name'];
        $id=$_SESSION['eid'];
        $name=$_SESSION['ename'];
        $members=$_SESSION['emembers'];

        if ($n==5){
            $res=mysql_query("INSERT INTO eventregistration(event_id,event_name,event_members,mem_1_id,mem_1_name,mem_2_id,mem_2_name,mem_3_id,mem_3_name,mem_4_id,mem_4_name,mem_5_id,mem_5_name,mem_6_id,mem_6_name) 
      VALUES('".$id."','".$name."','".$members."','".$sess_uid."','".$sess_name."','".$members[0].",'".$members_name[0]."','".$members[1].",'".$members_name[1]."','".$members[2].",'".$members_name[2]."','".$members[3].",'".$members_name[3]."','".$members[4].",'".$members_name[4]."')");
        }
        else if ($n==4){
            $res=mysql_query("INSERT INTO eventregistration(event_id,event_name,event_members,mem_1_id,mem_1_name,mem_2_id,mem_2_name,mem_3_id,mem_3_name,mem_4_id,mem_4_name,mem_5_id,mem_5_name) 
      VALUES('".$id."','".$name."','".$members."','".$sess_uid."','".$sess_name."','".$members[0].",'".$members_name[0]."','".$members[1].",'".$members_name[1]."','".$members[2].",'".$members_name[2]."','".$members[3].",'".$members_name[3]."')");
        }
        else if ($n==3){
            $res=mysql_query("INSERT INTO eventregistration(event_id,event_name,event_members,mem_1_id,mem_1_name,mem_2_id,mem_2_name,mem_3_id,mem_3_name,mem_4_id,mem_4_name) 
      VALUES('".$id."','".$name."','".$members."','".$sess_uid."','".$sess_name."','".$members[0].",'".$members_name[0]."','".$members[1].",'".$members_name[1]."','".$members[2].",'".$members_name[2]."')");
        }
        else if ($n==2){
            $res=mysql_query("INSERT INTO eventregistration(event_id,event_name,event_members,mem_1_id,mem_1_name,mem_2_id,mem_2_name,mem_3_id,mem_3_name) 
      VALUES('".$id."','".$name."','".$members."','".$sess_uid."','".$sess_name."','".$members[0].",'".$members_name[0]."','".$members[1].",'".$members_name[1]."')");
        }
        else if ($n==1){
            $res=mysql_query("INSERT INTO eventregistration(event_id,event_name,event_members,mem_1_id,mem_1_name,mem_2_id,mem_2_name) 
      VALUES('".$id."','".$name."','".$members."','".$sess_uid."','".$sess_name."','".$members[0].",'".$members_name[0]."')");
        }
        else if ($n==0){
            $res=mysql_query("INSERT INTO eventregistration(event_id,event_name,event_members,mem_1_id,mem_1_name) 
      VALUES('".$id."','".$name."','".$members."','".$sess_uid."','".$sess_name."')");
        }
        $url="events.php?slug=".$slug;
            header('Location: ' . $url);
            exit;
?>

  • 您需要停止使用已弃用的
    mysql\uu
    函数。改用
    mysqli\uu
    PDO
  • 您的代码易受SQL注入攻击
  • 您的表结构未规范化。绝对没有理由需要为
    n
    成员设置列
  • 不要为每个
    n
    成员执行逻辑,而是将它们放入数组并创建动态列列表
    . 它们不再得到维护。看到了吗?改为了解,并使用或-将帮助您决定使用哪种。我知道它们不推荐使用,但我想先让页面正常工作。