0

因此,在我的网站中,我正在尝试创建一个页面,人们可以在其中编辑某个 mySQL 表中的哪个 URL,这是我的代码,然后再继续(至少其中一部分)

            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");
            }
    }

除了唯一的问题是在他们提交他们的值之后,它会更新表中的所有“url”行。有人能帮我一下吗?

4

4 回答 4

1

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

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

于 2013-02-28T06:53:09.620 回答
1

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

mysql_query("UPDATE insects SET url = '$newd' WHERE inid = 2 ");
于 2013-02-28T06:53:11.010 回答
0
mysql_query("UPDATE 'insects' SET url = '$newd' WHERE inid = '2' ");

您总是在更新 inid=2 的行,所以我猜您数据库中的所有 url 的 inid 值为 '2'

于 2013-02-28T06:54:30.597 回答
0

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

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

于 2013-02-28T07:00:53.663 回答