我正在尝试在event.php
中输入一些值并将它们存储在一个数组($mem
)中。然后我将这个数组传递到另一个eventregister.php
文件中,我将它插入MySQL表中。
在event.php文件中开始行:
<?php
session_start();
$slug = $_GET['slug'];
$sess_uid = $_SESSION['id'];
$sess_email = $_SESSION['email'];
$sess_name = $_SESSION['name'];
if(isset($_POST['submit'])&&$_POST['submit']=='register1')
require_once('13/functions/eventregister.php');
?>
在<body>
:
...
...
$result = mysql_query("SELECT * FROM event WHERE slug = '".$slug."'");
if ($result == true){
$row=mysql_fetch_assoc($result);
$id=$row['id'];
}
$_SESSION['eventid']=$id;
$_SESSION['eventname']=$row['name'];
$_SESSION['max_members']=$row['members'];
php $mem=array_fill(0,$row['members'],'');?>
<form action="" method="post">
<?php for ($i=0;$i<$row['members']-1;$i++){
echo '<label>TRYST ID of Member '.($i+1).' :</label>';
echo '<input type="text" size="20" name="'.$mem[$i].'"><br>';
}
echo '<button type="submit" id="submit" value="Register" name="register1">Register</button>';?>
</form>
我的eventregister.php文件:
<?php
session_start();
foreach($_POST['mem'] as $key=>$value){
$value=mysql_real_escape_string($value);
if(strlen($value)==0)
$value="Null";
}
$sess_uid = $_SESSION['id'];
$sess_email = $_SESSION['email'];
$sess_name = $_SESSION['name'];
$e_id=$_SESSION['eventid'];
$e_name=$_SESSION['eventname'];
$e_max_mem=$_SESSION['max_members'];
mysql_query("INSERT INTO eventregister(event_id,event_name,max_number) VALUES('".$e_id."','".$e_name."','".$e_max_mem."')");
$url="events.php?slug=".$slug;
header('Location: ' . $url);
exit;
?>
页面没有显示任何错误,重定向正在工作,只是没有行在SQL中受到影响。我还在学习过程中,因此使用旧的PHP符号。
答案 0 :(得分:1)
如果仔细查看INSERT
语句,您会发现最后有一个逗号逗号。删除:
mysql_query("INSERT INTO eventregister(event_id,event_name,max_number)
VALUES('".$e_id."','".$e_name."','".$e_max_mem."')");
您还可以在服务器日志中看到MySQL错误。或者如果查询失败,请致电mysql_error
以了解详情。
我也没有在任何地方看到mysql_connect
。
答案 1 :(得分:0)
您的逗号和括号未组织
mysql_query("INSERT INTO eventregister(event_id,event_name,max_number) VALUES('".$e_id."','".$e_name."','".$e_max_mem."')");