在$ _POST变量中使用$ row变量进行MYSQL查询

时间:2013-01-15 05:51:18

标签: php mysql

我有一个允许上传图片的表单。用户可以根据单选按钮选择要将图像上传到哪个库。

在上传php脚本中,图像被上传到目录,然后目录位置被添加到MYSQL数据库。上传和目录添加工作正常。

我正在尝试将按下的单选按钮的名称添加到图像数据库中的另一列,以便我可以看到哪个图像上传到哪个图库,因为我的图像位于单独的表格中。

我的表单看起来像

<form enctype="multipart/form-data" action="upload-image.php" method="POST">
<h3>Select Gallery To Upload To</h3>
<?php
    $results = mysql_query("SELECT * FROM users");
    while ($row = mysql_fetch_assoc($results)) 
    {
        echo'<br>';
        echo '<input type="radio" name="'. $row["username"].'"value="'.$row["username"].'">' . $row["username"];
    }
?>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>

处理添加到MYSQL数据库的上传脚本部分如下:

mysql_query("INSERT INTO images (image, gallery_name) VALUES('".$target_path, $_POST["$row["name"]"]."')")

这给了我一些错误: 注意:未定义的索引:名称

警告:mysql_query()期望参数2为资源,字符串为

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您的查询的双引号有点不对劲。您还需要向mysql_query提供由mysql_connect创建的资源(在以下示例中,它由$mysql表示)。

mysql_query("INSERT INTO images (image, gallery_name) VALUES('".$target_path."', '". $_POST[$row["name"]]."')", $mysql);

答案 1 :(得分:1)

字符串未正确连接(连接)。

更改

mysql_query("INSERT INTO images (image, gallery_name) VALUES('".$target_path, $_POST["$row["name"]"]."')")

$row_data = $row["name"];
mysql_query("INSERT INTO images (image, gallery_name) VALUES('".$target_path."', '".$_POST[$row_data]."')");