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 に答える