プロが教える店舗&オフィスのセキュリティ対策術

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);

是非ご教授ねがいます。

A 回答 (2件)

>引用符が閉じていないとはどこのことかわかりません。



プログラムだけを追わずに、SQLを生成した後に、

echo "<br />■SQL : $sql<br />\n";

の1行を埋め込んで、ブラウザに表示されるSQLをみてみましょう。
どこかにクオーテーションが閉じていない場所がないですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
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
できます。

今は途方にくれている次第です。是非、お力をお貸しください。

お礼日時:2009/09/26 12:46

若干意味不明なのですが、phpMyAdminでphpのコードを


そのまま実行するということでしょうか?

>limit ".$tmp.",".($limit+1)

ではなく「limit 1,100」のような具体的な数字をいれてください

(コーテーションが閉じていないのはここですが、
本質的にこの部分を閉じても解決しません。)
    • good
    • 0
この回答へのお礼

ありがとうございます。
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
できます。

今は途方にくれている次第です。是非、お力をお貸しください。

お礼日時:2009/09/26 13:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!