SQL Update命令更新列中的所有值

时间:2013-02-28 06:49:19

标签: php sql command set

所以在我的网站上我试图创建一个页面,人们可以编辑哪个URL在某个mySQL表中,这是我的代码,然后再进一步(至少有一部分)

            while($row=mysql_fetch_array($result))
    {
    $title = $row['title'];
    $url=$row['url'];
    $id = $row['inid'];
    echo "<input type='button' id='delete' value='X' onclick='return Deleteqry($id)' />";
    echo "<form action='admin.php' method='POST'><input type='text' name='urledit' /><input type='submit' name='redit' /></form>";
    echo $title . '</br>';
    echo $url . '</br></br>';
            if(isset($_POST['redit']))
            {
                $newd = $_POST['urledit'];

                mysql_query("UPDATE `insects` SET url = '$newd' WHERE inid = $id ");
                header("location: admin.php");
            }
    }

除了唯一的问题是提交价值后,它会更新所有&#34; url&#34;表中的行。谁能在这帮助我?

4 个答案:

答案 0 :(得分:1)

尝试将表名周围的单引号更改为反引号,并从2中删除单引号,因为它是一个整数。

同时检查您的数据库,以确保在测试较早的查询时,您没有无意中将该列中的所有值更改为2。

答案 1 :(得分:1)

如果inid的行类型为int,则从表名中删除单引号,并从结尾的2中删除单引号,因为它是一个整数。

mysql_query("UPDATE insects SET url = '$newd' WHERE inid = 2 ");

答案 2 :(得分:0)

mysql_query("UPDATE 'insects' SET url = '$newd' WHERE inid = '2' ");

你总是更新inid = 2的行,所以我猜你的数据库中的所有网址都有值为'2'

答案 3 :(得分:0)

兄弟,你检查过你的桌子了吗?你在inid使用自动增量吗?请检查您的表格inid是否具有相同的值。

我没有看到您的查询有任何错误。