• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpからdbへアクセスし、レコードを削除したい)

phpからdbへアクセスし、レコードを削除したい

このQ&Aのポイント
  • phpを使用してデータベースからレコードを削除する方法を理解していません。
  • MySQLとPHPを使用してデータベースのレコードを削除する方法についての質問です。
  • php5.0を使用してデータベースからレコードを削除する際にエラーが発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

ソース見ましたが、セキュリティ的にちょっと恐ろしいですね(笑。 誰でもいくらでも簡単に改変出来るシステムになってます。 バリデーションとか、SQLインジェクションとかいうキーワードで勉強する事をお進めします。 それはともかくとして、とりあえずデバッグするのにエラーを吐かせるようにした方が良いと思います。 > 表示は削除が完了しました。と表示されるのですが、実際のデータは削除されていません。 最後の削除の部分ではエラーがあっても無くても構わず削除が完了した事になっているので当然ですね。 例えば $debug = true;//開発中はtrueに $result = mysql_query($sql); if ($debug){ echo $sql; if( !$result) die('エラー: ' . mysql_error()); } こうしておけばエラーの原因がすぐ分かります(英語ですけどね)。 発行したSQL自体はとても単純なので、権限が無いか(通常、登録が出来るなら修正や削除は出来るようになっていそうなものですが)、単なるスペルミスでしょう。 DELETの場合はデータが無くてもエラーは返さないのが普通ですから、発行したSQLも確認してみましょう。 参考まで。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

mysql_connect("localhost","hogename","hogepass"); としている"hogename"のところのユーザーがroot以外であれば 権限がついてないことが考えられます。 そもそもmysqlはどうやってセットアップしたのでしょうか? セットアップしたとおり、権限がついているはずです。 具体的にはmysqlという名前のデータベース上にuserというテーブルが あるとおもいますのでそれで任意のユーザーを作成・編集し flush privilegesしてやるとよいでしょう。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

実行するユーザーに更新属性と削除属性がついていないのでは?

nonchan000
質問者

補足

早速ご回答頂きありがとう御座います。 参考書を見ながら初めて書いてみたもので、 全くの無知で申し訳ないのですが、 更新属性及び削除属性とはどのようなものでしょうか? 具体的な方法をご存じでしたら、 参考になるサイトでも何でも結構ですので 教えて頂けるとありがたいです。 宜しくお願いいたします。

関連するQ&A