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);
是非ご教授ねがいます。
お礼
申し訳ございません、理解いたしました。 デリゲートのFunc<>だと、引数の型指定もされている事を忘れていました。 申し訳ございません。 解決しましたので閉じさせていただきます。
補足
早速の回答ありがとうございます。 おっしゃっている内容はわかるのですが、本にはAggregateについて以下のように書いてあります。 public static TAccumulate Aggregate<TSource,TAccumulate>( this IEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate,TSource,TAccumulate> func); 上のはオーバーロードの一例ですが、私がわからないのは、上ではfuncの引数に対して何にも語られていません。 ということは、なぜ、 (t, s) => t.Amount > s.OrderAmount ? t : new { Amount = s.OrderAmount, Month = s.Month } で、tが何になり、sが何になるのかはどうやって決まるのかという事がわからないのです。 そういうものだとして、受け入れればいいのかもしれませんが、自分で書くときに、理解していないと書けないと思い質問させていただきました。 そのあたりについて何かおわかりの事がありましたらよろしくお願いいたします。