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
成员执行逻辑,而是将它们放入数组并创建动态列列表李>
. 它们不再得到维护。看到了吗?改为了解,并使用或-将帮助您决定使用哪种。我知道它们不推荐使用,但我想先让页面正常工作。