Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

बाउंड पैरामीटर का कई बार उपयोग करें

मैं एक ही समस्या पर अब दो बार भाग चुका हूं और मुझे लगता है कि मुझे एक बहुत ही सरल और अच्छा समाधान मिल गया है। यदि मैं कई बार मापदंडों का उपयोग करना चाहता हूं, तो मैं उन्हें सिर्फ एक MySQL User-Defined Variable में संग्रहीत करता हूं .
यह कोड को और अधिक पठनीय बनाता है और आपको PHP में किसी अतिरिक्त फ़ंक्शन की आवश्यकता नहीं है:

$sql = "SET @term = :term";

try
{
    $stmt = $dbh->prepare($sql);
    $stmt->bindValue(":term", "%$term%", PDO::PARAM_STR);
    $stmt->execute();
}
catch(PDOException $e)
{
    // error handling
}


$sql = "SELECT ... FROM table WHERE name LIKE @term OR number LIKE @term";

try
{
    $stmt = $dbh->prepare($sql);
    $stmt->execute();
    $stmt->fetchAll();
}
catch(PDOException $e)
{
    //error handling
}

केवल नकारात्मक पक्ष यह हो सकता है कि आपको एक अतिरिक्त MySQL क्वेरी करने की आवश्यकता है - लेकिन यह पूरी तरह से इसके लायक है।
चूंकि User-Defined Variable MySQL में सत्र-बाध्य हैं, चर के बारे में चिंता करने की कोई आवश्यकता नहीं है @term बहु-उपयोगकर्ता वातावरण में दुष्प्रभाव पैदा कर रहा है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL डेटाटाइम फ़ील्ड और डेलाइट सेविंग टाइम - मैं अतिरिक्त घंटे का संदर्भ कैसे दूं?

  2. STR_TO_DATE () उदाहरण – MySQL

  3. mysql में utf-8 mb4 कैरेक्टर (ios5 में इमोजी) कैसे डालें?

  4. खंड के बीच MySQL समावेशी नहीं है?

  5. हाइबरनेट:इकाई वर्गों के आधार पर स्वचालित रूप से डीबी टेबल बनाना/अपडेट करना