我有一个表格供用户输入值和更新记录。
下拉菜单如下所示:
<select name="dateID" required>
<option value="" disabled>Please select...</option>
<option value="2">1920's</option>
<option value="3">1930's</option>
<option value="4">1940's</option>
<option value="5">1950's</option>
<option value="6">1960's</option>
<option value="7">1970's</option>
<option value="8">1980's</option>
<option value="9">1990's</option>
</select>
然后我通过使用这个来获得所选择的下拉值:
$decade = $_GET['dateID'];
这是导致我出现问题的部分我认为..当我在PHP MyAdmin中尝试它时,我的SQL状态员工作,但它不能在网站上工作。
这是我的SQL语句:
$sql = mysqli_query($con, "UPDATE details INNER JOIN date ON date.dateID = details.dateID SET details.year = '$year', details.description = '$description', details.dateID = '$decade' WHERE id='$recordID'") or die('Query error. try again: '.mysqli_error());
这是加入两个表,一个表中有详细信息,另一个表根据该十年有十年和日期ID。
我正在尝试将下拉列表的值分配给日期表中的dateID,这意味着我可以指定分配了值的十年。
为什么SQL不起作用?
如果我用这个替换SQL它可以工作:
"UPDATE details SET year = '$year', description = '$description' WHERE id='$recordID'"
答案 0 :(得分:0)
以下是一些建议:
WHERE id='$recordID'
撤回<table alias>.id
。由于id可能存在于两个表中,并且您正在使用JOIN。"'$varname'"
使用"'".$varname."'"
或"'{$varname}'"
希望这有助于解决问题。