PHP 数据库未使用正确的值进行更新

标签 php html mysql sql

我正在尝试更新数据库以显示我的“图像 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/

相关文章:

mysql查询提取由 ";"分隔的名称并检查它是否在组合框中被选中

php - 将下拉列表中的多个输入保存到数据库

php - 插入数据库php后,表情符号显示为问号

javascript - Jquery:创建 ids 数组作为获取参数传递

php - nginx + PHP-FPM : Doing away with fastcgi params

javascript - Ajax 相关的文本字段和下拉菜单(PHP 和 Javascript)

html - Bootstrap 列宽

php - 如何在 php 中使用不同的 mysql 查询从数据库表中获取值

html - 为什么 videojs HTML5 视频在 Firefox 中无法播放声音?

mysql - hibernate 通信链接失败