• ベストアンサー

mysql_num_rows()のエラーについて

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 表示されるので、phpmyadmin でチェックすると下記のようにでました。 -------------------------------------------------------------- あなたのSQLクエリーにエラーがあります。MySQLサーバーは以下のようにエラーを出します。そこには問題を解決する手助けがあるでしょう。 ERROR: 引用符が閉じていない @ 447 STR: " SQL: select KOKYAKU_T.ID_C,URGENT_C,STAFF_C,DEP_C,NAME1_C,DEST_C,TOUR_CODE_C,NOTICE_C, GET1_HOW_C,GET1_YOTEIBI_C,GET1_DATE_C,GET1_AMOUNT_C,GETGET1_AMOUNT_C, GET2_HOW_C,GET2_YOTEIBI_C,GET2_DATE_C,GET2_AMOUNT_C,GETGET2_AMOUNT_C, GET3_HOW_C,GET3_YOTEIBI_C,GET3_DATE_C,GET3_AMOUNT_C,GETGET3_AMOUNT_C, GA_C,GADATE_C from KOKYAKU_T inner join KEIRI_T on KOKYAKU_T.ID_C = KEIRI_T.ID_C where KOKYAKU_T.DEL_C = 3 order by KOKYAKU_T.REGI_C desc limit ".$tmp.",".($limit+1) 実行されたSQLクエリー : select KOKYAKU_T.ID_C,URGENT_C,STAFF_C,DEP_C,NAME1_C,DEST_C,TOUR_CODE_C,NOTICE_C, GET1_HOW_C,GET1_YOTEIBI_C,GET1_DATE_C,GET1_AMOUNT_C,GETGET1_AMOUNT_C, GET2_HOW_C,GET2_YOTEIBI_C,GET2_DATE_C,GET2_AMOUNT_C,GETGET2_AMOUNT_C, GET3_HOW_C,GET3_YOTEIBI_C,GET3_DATE_C,GET3_AMOUNT_C,GETGET3_AMOUNT_C, GA_C,GADATE_C from KOKYAKU_T inner join KEIRI_T on KOKYAKU_T.ID_C = KEIRI_T.ID_C where KOKYAKU_T.DEL_C = 3 order by KOKYAKU_T.REGI_C desc limit ".$tmp.",".($limit+1) MySQLのメッセージ --> #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right ---------------------------------------------------------------- 引用符が閉じていないとはどこのことかわかりません。 実際のphpは下記の行です。 $sql= "select KOKYAKU_T.ID_C,URGENT_C,----同じ----- limit ".$tmp.",".($limit+1); 是非ご教授ねがいます。

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

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

>引用符が閉じていないとはどこのことかわかりません。 プログラムだけを追わずに、SQLを生成した後に、 echo "<br />■SQL : $sql<br />\n"; の1行を埋め込んで、ブラウザに表示されるSQLをみてみましょう。 どこかにクオーテーションが閉じていない場所がないですか?

hirohwi
質問者

お礼

ありがとうございます。 echo "<br />■SQL : $sql<br />\n"; を追加してみましたが、わかりませんでした。 また、下記のように一行いれて試しましたが、 $result = mysql_query("SELECT * FROM tables_priv") or die("Bad query: " . mysql_error()); 結果は Bad query: Table 'サーバー名.tables_priv' doesn't exist でした。実際にはテーブルは存在しております。 また、同様なSQLを他のページで利用していますが、問題なくSELECT できます。 今は途方にくれている次第です。是非、お力をお貸しください。

その他の回答 (1)

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

若干意味不明なのですが、phpMyAdminでphpのコードを そのまま実行するということでしょうか? >limit ".$tmp.",".($limit+1) ではなく「limit 1,100」のような具体的な数字をいれてください (コーテーションが閉じていないのはここですが、 本質的にこの部分を閉じても解決しません。)

hirohwi
質問者

お礼

ありがとうございます。 limit 1,100」のような具体的な数字をいれましたが、わかりませんでした。 また、下記のように一行いれて試しましたが、 $result = mysql_query("SELECT * FROM tables_priv") or die("Bad query: " . mysql_error()); 結果は Bad query: Table 'DB名.tables_priv' doesn't exist でした。実際にはテーブルは存在しております。 また、同様なSQLを他のページで利用していますが、問題なくSELECT できます。 今は途方にくれている次第です。是非、お力をお貸しください。

関連するQ&A