我想弄清楚为什么sprintf在这里返回false。任何人都可以放弃任何光明吗?
sprintf( "select dog_name, date_format(meet_date, '%D %M %Y') as date, track_name, race_name, race_stakes, race_class, race_stakes, result_place, result_box, winner_name, winner_id, result_dog_trainer, race_distance
from dog
join result using( dog_id )
join race r using( race_id )
join meet using( meet_id )
join track using( track_id )
join (select dog_name as winner_name, dog_id as winner_id, race_id
from dog
join result using( dog_id )
where result_place = 1
) t0 on t0.race_id = r.race_id
where dog_id = %d
order by meet_date desc
limit %d", 12345, 50);
答案 0 :(得分:7)
你的论点太少了。如果您将sprintf()
与date_format
一起使用,则应使用两个%
,如下所示:
sprintf( "select dog_name, date_format(meet_date, '%%D %%M %%Y') as date, track_name, race_name, race_stakes, race_class, race_stakes, result_place, result_box, winner_name, winner_id, result_dog_trainer, race_distance
from dog
join result using( dog_id )
join race r using( race_id )
join meet using( meet_id )
join track using( track_id )
join (select dog_name as winner_name, dog_id as winner_id, race_id
from dog
join result using( dog_id )
where result_place = 1
) t0 on t0.race_id = r.race_id
where dog_id = %d
order by meet_date desc
limit %d", 12345, 50);