एसक्यूएल क्वेरी में थोड़ा संशोधन की आवश्यकता है

निम्नलिखित मेरी SQL क्वेरी है जिसमें सुविधा_आईडी है जो मैं $ fid से आता मान मानने के लिए देखता हूं। कृपया मुझे बताएं कि निम्नलिखित कोड में क्या गलत है, इसलिए मैं उन्हें तदनुसार हटा सकता हूं

$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';
1
जोड़ा संपादित
विचारों: 1

2 उत्तर

छोटी टाइपो गलती फिड और समूह के बीच निम्न जगह जोड़ें:

$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';

and next suggestion: no need to enclose $fid with double quote "

यहां मैंने मान लिया है कि आपका फ़ील्ड सुविधा_आईडी पूर्णांक प्रकार है। यदि इसकी स्ट्रिंग तो डबल कोट्स "" को इस तरह जोड़ें:

$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
जोड़ा

कृपया इसे आज़माएं:

$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";
1
जोड़ा
एक स्ट्रिंग concatenation का उपयोग नहीं करते समय {$ fid} का उपयोग करना अच्छा होता है। :)
जोड़ा लेखक hjpotter92, स्रोत