我有一些PHP代码真的对我造成了影响。为了简化,我有一个表,其中三列是外键( event_type,accommodation_type和public_user )。我正在动态创建一组单选按钮,并且我已正确设置每个输入值的ID属性。
$result2 = mysql_query("SELECT * FROM event_type", $connection);
if(!$result2){
die("Database query failed: " . mysql_error());
}
$event = mysql_fetch_array($result2);
echo "<input type='radio' name='event_type' value='";
echo $event["id"];
echo "' > ";
echo $event['name'];
echo "</input><br /><br />";$result4 = mysql_query("SELECT * FROM accommodation_type", $connection);
if(!$result4){
die("Database query failed: " . mysql_error());
}
while($row = mysql_fetch_array($result4)){
if($row["id"] == 7 || $row["id"] == 8){
echo"<tr><td>";
echo $row["name"] ;
echo"</td><td>$";
echo $row["price"];
echo ".00</td><td>";
echo "<input type='radio' name='accommodation_type' value='";
echo $row["id"];
echo "' />";
echo "</td></tr>";
}
}
我从查询中检索了正确的id。因此,在使用POST提交表单后,我继续进行一些小的验证,并按照以下方式准备我的帖子中的名称:
$event_type = trim(mysql_prep($_POST['event_type']));
$accommodation_type= trim(mysql_prep($_POST['accommodation_type']));
$public_user = trim(mysql_prep($_POST['public_user']));
$comments = trim(mysql_prep($_POST['comments']));
$grand_total = trim(mysql_prep($_POST['grand_total']));
然后我继续编写insert语句以将数据插入相关表中。这需要两个查询,如下所示。
$query = "INSERT INTO event_registration (event_type, accommodation_type, public_user, comments, grand_total) VALUES ('{$event_type}','{$accommodation_type}','{$public_user}','{$comments}','{$grand_total}')";
$query1 = "INSERT INTO additional_member (first_name, last_name, gender, age_group, public_user) VALUES ('{$first_name}','{$last_name}','{$gender}','{$age_group}','{$public_user}')";
$result = mysql_query($query, $connection);
$result1 = mysql_query($query1, $connection);
query1按预期工作,但第一个查询无法插入数据。它表示我所在行的未定义索引
$event_type = trim(mysql_prep($_POST['event_type']));
$accommodation_type= trim(mysql_prep($_POST['accommodation_type']));
我不完全确定哪里出了问题。一切似乎都设置正确,表单中的数据只是拒绝保存。
有什么想法吗?
答案 0 :(得分:2)
为什么不尝试从头开始查看代码,看看是否存在任何语法错误,然后再继续。
答案 1 :(得分:0)
您正在创建住宿类型
echo "<input type='radio' name='accommodation_type' value='";
echo $row["id"];
但不能在任何地方回复event_type
。尝试回应一下:
echo "<input type='radio' name='accommodation_type' value='";
echo $row["id"];
echo "<input type='radio' name='event_type' value='";
echo $row["whatever"];