【发布时间】:2011-08-15 21:11:44
【问题描述】:
我一直在寻找一个解决我觉得很简单的问题的方法。
我有一个动态创建的页面,其中包含一个具有唯一 ID 的视频。我还有一个用户可以提交内容的表单。我希望将视频的 id 包含在提交给 tableA 的内容中。
此代码仅在 $id = 1 时才有效。
$vidq = "SELECT * FROM tutorials";
$vidresult = mysql_query($vidq);
$vidrow = mysql_fetch_array($vidresult);
//form submission
if($_POST['formname'] == "submit") {
$name = $_POST['name'];
$id = $vidrow['id'];
$errorMessage = "";
if(empty($name)) {
$errorMessage .= "<li>Please enter a valid name</li>";
}
if(empty($errorMessage)) {
$insert = "INSERT INTO tableA (videoid, name) VALUES (".$id.", ".$name.")";
mysql_query($insert);
exit();
}
}
当我将 $id 更改为 = 1 时,它会发布,但是当我将 $id 更改为 = $vidrow['id'] 时,它不会发布。
我做错了什么?
【问题讨论】:
-
提防Bobby Tables。然后尝试
list($vidrow) = mysql_fetch_array(...) -
您不想从表单中保存视频的
id吗?您正在从教程表中选择一个随机行并使用其id。您应该在表单的隐藏输入中拥有与表单关联的视频的id,然后从$_POST中读出与名称相同的内容。您还遇到$name的值既没有转义也没有用单引号括起来的问题。 -
@Linus 他为什么要这样做?
mysql_fetch_array返回单行作为关联数组,这就是他尝试使用它的方式。 -
tutorial表中具有视频 ID 的列是否名为id?你得到了什么错误?更多关于it doesn`t post的信息,请 -
你的教程表是空的吗?