0

私は何時間もの間、MySQLテーブルをPHPで更新しようとしました。

次のコード(および他のいくつかのコード)を使用しましたが、エラーメッセージが表示されます。

    $id = $_GET['id'];

    if(isset($_POST['descr'])){
    $go = $_POST['descr'];

    mysql_query("UPDATE Rooms SET Desc='$go' WHERE Room_ID='$id'") 
    or die(mysql_error());  

    }


    mysql_close($conn);

「SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、「Desc =」の近くで使用する正しい構文を確認してください。この部屋はプライマリテストルームです。そうですか?」WHERE Room_ID ='11''1行目"

フォームの名前は「descr」、テーブルは「Rooms」、更新が必要なフィールドは「Desc」で、動的URLに基​​づいて対応するIDがある場所にある必要があります。

echo = $ goと書くと、正しいデータが出力されるので、phpだと思います。

データベースに正しく接続します。

4

3 に答える 3

4

Descはmysqlの特別な単語ですエスケープで試してみてください

mysql_query( "UPDATE Rooms SET` Desc` ='$ go' WHERE Room_ID ='$ id' ")
于 2012-07-06T07:27:58.517 に答える
1

IDが数字であると仮定すると:

$id = $_GET['id'];

if(isset($_POST['descr'])){
$go = $_POST['descr'];

mysql_query("UPDATE Rooms SET `Desc`='".$go."' WHERE Room_ID=".$id.") 
or die(mysql_error());  
}
mysql_close($conn);
于 2012-07-06T07:26:54.297 に答える
0

DescはORDERBYのために予約されています!'`'記号で囲んでください!

mysql_query("UPDATE `Rooms` SET `Desc` = '".$go."' WHERE `Room_ID` = ".$id.") 
or die(mysql_error());
于 2012-07-06T07:27:46.303 に答える