-3

クエリを実行したい。最初が失敗した場合は、2番目を実行しますが、次のようになっています。

MySQLエラー:「フィールドリスト」の不明な列「ステータス」

mysql_query("UPDATE `rolerota` SET `status`='$_GET[status]' WHERE `uid`='$_GET[id]'")  or die("MySQL ERROR: ".mysql_error()); 

mysql_query("UPDATE `showrota` SET `status`='$_GET[status]' WHERE `uid`='$_GET[id]'")  or die("MySQL ERROR: ".mysql_error()); 

これらはPHPMyAdminで正常に機能するため、列が存在することはわかっています。何か案は?

ありがとう

4

1 に答える 1

0

既に提案されている mysqli の使用についてはコメントしません。可能な場合は必ずアップグレードしてください。

phpmyadmin で実際に機能する場合は、列が実際に存在し、問題はそれに関するものではないと想定します。そこで、次のことを確認してください。

1) phpmyadmin とコードで異なるデータベース サーバーを使用している可能性があります。mysql_connect() を確認してください。

2) phpmyadmin とコードで別のデータベースを使用している可能性があります。mysql_select_db() を確認してください

3)それが完了したら、これを試してください:

mysql_query("UPDATE rolerota SET status='".mysql_real_escape_string($_GET['status'])."' WHERE uid='".mysql_real_escape_string($_GET['id'])."'")  or die("MySQL ERROR 1: ".mysql_error()); 

mysql_query("UPDATE showrota SET status='".mysql_real_escape_string($_GET['status'])."' WHERE uid='".mysql_real_escape_string($_GET['id'])."'")  or die("MySQL ERROR 2: ".mysql_error());

メッセージに応じて、どのクエリが失敗しているかを知ることができます。また、SQL インジェクションからデータベースをより適切に保護できます。

それでもうまくいかない場合は、新しいエラー メッセージとデータベース構造を投稿してみてください。

于 2012-12-13T15:54:20.423 に答える