我正在尝试更新数据库以显示我的“图像 id”和“标记 id”,但是,每次选择图像和“标记”时,它仅用“1”更新,而不是相应的“id”对于图像和标签。
这是我用来获取变量的代码。
echo "<input type ='hidden' name ='id' value = '{$row['image']}'>";
这是运行 SQL 查询后显示的表:
echo "<td>";
echo "<select name ='dropdown'>
<option value='1'>dog</option>
<option value='2'>cat</option>
<option value='3'>dark</option>
<option value='4'>light</option>
</select>"."</td>";
echo"<td>".'<input type="submit" name="tag" value="insertTag">'."</td>";
单击按钮时将执行以下操作:
if(isset($_POST['tag'])){
$idpic= $_POST['id'];
$selectbox = $_POST['dropdown'];
$sql = "INSERT INTO table3(ID ,PicutureID, IDtag)
VALUES('','.$idpic.','.$selectbox .')";
$runquery = mysql_query($sql) or die("<b>Error:</b> <br/>" . mysql_error());
为什么每次选择“cat”时,表3“IDtag”仍然为1,同样,“PicutreID”也不对应。
感谢您的帮助
最佳答案
首先,我认为查询中提到的字段名称 (PictureID) 拼写错误。
如果情况并非如此,让我们看看查询中的串联,因为它看起来有点困惑。可以通过两种方式完成。
$sql = "INSERT INTO table3(ID ,PicutureID, IDtag)
VALUES('','".$idpic."','".$selectbox ."')";
如果上面的查询看起来令人困惑,您可以将变量括在大括号内,并在一组双引号内一次性编写完整的代码。
$sql = "INSERT INTO table3(ID ,PicutureID, IDtag)
VALUES ('','{$idpic}','{$selectbox }')";
尝试这些并让我知道。
关于PHP 数据库未使用正确的值进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22595875/