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

PHP पीडीओ बाइंडपरम आईएन स्टेटमेंट के लिए उपयोग किए जाने वाले चर/स्ट्रिंग के लिए ...?

टिप्पणियों में जो छल कहा गया है वह सही है। यहाँ एक तरीका है जो मैंने इसे पहले किया है।

मूल रूप से आप IN . बनाते हैं सरणी मानों को लूप करके और एक बाइंडेड नाम में जोड़कर sql स्ट्रिंग का हिस्सा।

$allow = array( 'red', 'blue' );

$sql = sprintf(
    "Select * from colors where type in ( %s )",
    implode(
        ',',
        array_map(
            function($v) {
                static $x=0;
                return ':allow_'.$x++;
            },
            $allow
        )
    )
);

इसका परिणाम Select * from colors where type in ( :allow_0,:allow_1 )

फिर बस $allow . को लूप करें सरणी और प्रत्येक चर को बांधने के लिए बाइंडवैल्यू का उपयोग करें।

foreach( $allow as $k => $v ){
    $stmnt->bindValue( 'allow_'.$k, $v );
}

मैंने एक समान उदाहरण देने वाले प्रश्न से जुड़े धोखे को समझने से पहले इसे जोड़ा। मैं इसे यहाँ छोड़ देता हूँ क्योंकि यह दिखाता है कि इसे नामांकित बाइंडेड वेरिएबल्स के साथ कैसे करना है, न कि ?s



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Php+Mysql वोटिंग में IP द्वारा प्रतिदिन वोटों को कैसे प्रतिबंधित करें?

  2. एक खाली परिणाम की जाँच (PHP, PDO, और MySQL)

  3. एसयूएम () MySQL में फ़ंक्शन

  4. पीएचपी कोई डेटाबेस चयनित नहीं

  5. MySQL में रो वर्जनिंग