• 締切済み

PHPでMySQLのデーターベースが書込み出来ない

PHPとMySQLとJAVAスクリプトで作成しましたデーターベースについてお尋ねします。 PHPとMySQLで作成したデータベースの検索したり、読み込みを普通に可能ですが、書き込み及び、削除が出来ません。 PhpMyAdminでは書けます(データー入力出来ます)が、PHPプログラムからはデーターを入力したり、削除を行うことが出来ません。 そして、全くエラーも出ません。 PHP上では「書き込みました」と、いかにも正常なようなメッセージが返ってきます。 が、中身は空です。 システムが出来上がって問題なく3年以上使用していたのですが、自宅のLINUXサーバーのHDDが壊れましたので、再度システム構築をやり直しました。 MySQLとPHPも再インストールを行い再構築を行いました。 その後上記症状が出て書き込み、削除が出来なくなりました。 PHPのプログラムは全く触っておらず、変更も更新もしておりません。 念のためプログラムのチェックも何度もしておりますが、勿論これといって問題は見あたりません。 PHP.INI等の設定ファイルに問題があるのでしょうか。 それとも、MySQLに問題が有るのでしょうか。 宜しくご教授の程お願い致します。

みんなの回答

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

> そして、全くエラーも出ません。 > PHP上では「書き込みました」と、いかにも正常なようなメッセージが返って > きます。が、中身は空です。 phpのプログラムがきちんとエラートラップしてなければ、そのままスルーしている可能性もあります。 > PhpMyAdminでは書けます ということなら、一番怪しいのはphpで接続しているユーザーの権限でしょうか。 SELECT権限しかないなら参照は出来ても更新・削除・挿入はできません。

robotanmarch
質問者

補足

ご回答有り難うございます。 MySQLの権限について下記のコマンドを走らせましたところ、全て「Y」でした。 #mysqlaccess localhost root abcdb もしくは mysql>select * from mysql.root; どちらも問題無く「Y」でした。 「select,insert,update,delete」について全て「Y」でした。 以上宜しくお願い致します。

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

MySQL側でアクセスされるHostとUserの組合せでPHPからアクセスさせる際の ユーザーに権限付与が適正にされていないのでは? INSERT,UPDATE,REPLACEなどのSQLを発行するさいに $res=mysql_query($sql) or die(mysql_error()) のようにデバッグしてみてください

robotanmarch
質問者

補足

早速のご回答有り難うございました。 以下のように記述し走らせましたが、真っ白の画面になります。 とにかく、私としましては、PHPのプログラムは以前動いていたままなので変更もしていません。 $sql = "UPDATE abctbl SET subject = \"subject\", contents= \"contents\", WHERE no = $no"; $res=mysql_query($sql) or die(mysql_error()) 画面が真っ白のままで何も表示しません。 宜しくお願い致します。

関連するQ&A