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 の場合、tablename と末尾の 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には値が「2」のinidがあると推測しています

于 2013-02-28T06:54:30.597 に答える
0

兄弟、テーブルをチャッキングしましたか?の自動インクリメントを使用していますかinidinidテーブルの値が同じであることを確認してください。

クエリに間違いはありませんでした。

于 2013-02-28T07:00:53.663 に答える