2009 年 9 月
« 8 月   12 月 »
 123456
78910111213
14151617181920
21222324252627
282930  

最近のコメント

    PHP-よくあるエラーメッセージと対策-(その9)

    今までPHPでプログラミングを行ってきて、頻繁に出会ったエラーメッセージとその対策を説明したいと思います。

     

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in エラーが発生しているPHPファイルのフルパス on line エラーが発生している行

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in エラーが発生しているPHPファイルのフルパス on line エラーが発生している行

     

    上記エラーメッセージは、データベースに発行するSQLの文法に問題がある場合、発生します。

    このエラーメッセージが発生した場合、発行したSQL文を確認する必要があります。

    データベースの接続に失敗した場合は、以下のエラーメッセージが表示されますので、違いは一目瞭然だと思います。

    (1番目のエラーメッセージはデータベース名、ユーザー名、パスワードが間違っている場合、
     2番目のエラーメッセージはコネクション先のポートが間違っている場合、
     3番目のエラーメッセージはコネクション先のサーバが存在しない場合に発生するエラーメッセージ)

     

    Warning: mysql_connect(): Access denied for user 接続しようとしたユーザー名@サーバ名 (using password: YES) in エラーが発生しているPHPファイルのフルパス on line エラーが発生している行

     Warning: mysql_connect(): Can’t connect to MySQL server on ‘サーバ名‘ (10061) in エラーが発生しているPHPファイルのフルパス on line エラーが発生している行

     Warning: mysql_connect(): Unknown MySQL Server Host ‘サーバ名‘ (11001) in エラーが発生しているPHPファイルのフルパス on line エラーが発生している行

     

    PHPでは、データベースで発生したエラーの詳細を取得する関数が以下の通り用意されていますので
    エラーが発生している処理の直後に、この関数の返り値を取得して、調査を進めるのも有効だと思います。

    mysql_errno([データベース接続リソース]);
    直前エラーの番号を返します。エラーが無い場合は、0を返します。

    mysql_error([データベース接続リソース]);
    直前エラーのメッセージを返します。

    Comments are closed.