我一直在寻找解决方案,我认为这是一个非常简单的问题。
我有一个动态创建的页面,其中包含一个具有唯一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 to = $ vidrow ['id']时,它不会发布。
我做错了什么?
答案 0 :(得分:-1)
尝试使用mysql_errno / mysql_error显示mysql错误消息。例如...
if (!mysql_query($insert))
{
die('MySQL Fail (' . mysql_errno() . ') - ' . mysql_error());
}
mysql_errno()文档 - http://php.net/manual/en/function.mysql-errno.php
答案 1 :(得分:-2)
您是否尝试在$id
之后打印$id = $vidrow['id'];
的内容?它可能会揭示为什么它不能按你想要的方式工作......
您是否考虑过如果恶意(或只是好奇的)用户使用?name=%27%27%29%3b%20DROP%20TABLE%20tableA%3B
调用您的脚本会发生什么?