0

我正在尝试输入一些值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 的旧符号。

4

2 回答 2

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任何地方。

于 2013-02-07T12:17:27.317 回答
0

你的逗号和括号没有组织

mysql_query("INSERT INTO eventregister(event_id,event_name,max_number) VALUES('".$e_id."','".$e_name."','".$e_max_mem."')");
于 2013-02-07T12:18:19.230 回答