我无法使此查询正常工作:
if(isset($_POST['updateRecord'])) { mysql_query("UPDATE files SET title = '$_POST[title]', description = '$_POST[description]', internal = '$_POST[accessFile]', category = '$_POST[category]' WHERE title = '$_POST[title]'"); header("Location: system-management.php?viewFiles=on"); }
当标题重定向到正确的页面时,它肯定会输入if语句。我已经将表单设置为使用post方法,即使我使用get方法,我也可以看到我的表单数据正在传递。
我已尝试在查询中引用标头位置和错误报告(或死亡),但它没有带来任何错误
表单提交按钮位于表格列中,如下所示:
<input type='submit' value='Save Changes' name='updateRecord' />
我在这里找不到一些非常明显的东西吗?
非常感谢您提供的任何帮助!
答案 0 :(得分:1)
您必须按如下方式使用大括号
mysql_query("UPDATE files SET title = '{$_POST[title]}',
description = '{$_POST[description]}', internal = '{$_POST[accessFile]}',
category = '{$_POST[category]}' WHERE title = '{$_POST[title]}'");
需要大括号来转义变量表达式。请参阅PHP Doc上的Strings。您还可以参考this answer on stackoverflow以了解有关字符串中大括号的用法的更多信息。
答案 1 :(得分:0)
像这样:
$query = "UPDATE files SET title = \"{$_POST['title']}\", description = \"{$_POST['description']\", internal = \"{$_POST['accessFile']\", category = \"{$_POST['category']\" WHERE title = \"{$_POST['title']\"";
// echo $query;
mysql_query($query);
答案 2 :(得分:0)
假设IF正在工作,问题似乎是从$ _POST读取变量的方式。变量名称应括在引号中。请试试这个:
mysql_query("UPDATE files SET title = '" . $_POST['title'] . "', description = '" . $_POST[description] . "', internal = '" . $_POST[accessFile] . "', category = '" . $_POST[category] . "' WHERE title = '" . $_POST[title] . "'");
希望这有帮助!
答案 3 :(得分:0)
尝试为您的提交按钮id="whatever"
添加ID。
我没有看到mysql_query的第二个参数($ query,$ connection);,你的连接字符串不存在。
检查你的WHERE条款,
查看错误添加mysql_query("",$con) or die(mysql_error());
答案 4 :(得分:0)
尝试一下
mysql_query("UPDATE files SET title = '".$_POST[title]."', description = '".$_POST[description]."', internal = '".$_POST[accessFile]."', category = '".$_POST[category]."' WHERE title = '".$_POST[title]."'");
希望此问题已解决