1

以下は、facility_id に $fid からの値を割り当てる SQL クエリです。次のコードの何が問題なのか教えてください。それに応じてそれらを削除できます

$fid = 101;
$q = 'select r_present,r_reminder 
    from z_events 
    where resident_id = ? 
        and r_added > date_sub(curdate(), interval 37 day) 
        and fascility_id='."$fid". '
    group by r_added 
    order by r_added 
    desc limit 4';
4

2 に答える 2

4

小さなタイプミスは、次のように fid とグループの間にスペースを追加します。

$q = 'select r_present,r_reminder 
from z_events 
where resident_id = ? 
    and r_added > date_sub(curdate(), interval 37 day) 
    and fascility_id='.$fid. ' 
group by r_added 
order by r_added 
desc limit 4';

次の提案: $fid を二重引用符で囲む必要はありません"

ここでは、フィールドの facility_id が整数型であると想定しています。その文字列の場合、次のように二重引用符""を追加します。

$q = 'select r_present,r_reminder 
from z_events 
where resident_id = ? 
    and r_added > date_sub(curdate(), interval 37 day) 
    and fascility_id="'.$fid. '" 
group by r_added 
order by r_added 
desc limit 4';
于 2012-05-25T06:26:12.173 に答える
1

親切にこれを試してください:

$fid = 101;
    $q = "select r_present,r_reminder from z_events where resident_id = ? and r_added > date_sub(curdate(), interval 37 day) and fascility_id=$fid group by r_added order by r_added desc limit 4";
于 2012-05-25T06:28:29.363 に答える