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

स्ट्रिंग रूपांतरण त्रुटि के लिए पीडीओ निष्पादित सरणी

execute() विधि एक सरणी की अपेक्षा करता है। दस्तावेज़ीकरण से:

array($id,$array) . के साथ आप एक बहु-आयामी सरणी पास कर रहे होंगे जो इस तरह दिखती है:

Array
(
    [0] => 1
    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

)

यह निश्चित रूप से वह नहीं है जिसकी वह अपेक्षा करता है। इसे एक एकल-आयामी सरणी की आवश्यकता है जिसमें सम्मिलित किए जाने वाले मान हों।

इस समस्या को ठीक करने के लिए, आपको सरणी प्रारूप को संशोधित करना होगा। सरणी की शुरुआत में आईडी जोड़ें, जैसे:

$array = array(1, "a",  "b",  "c");

यदि आईडी चर गतिशील रूप से उत्पन्न होता है, तो आप इसे array_unshift() का उपयोग करके मैन्युअल रूप से सरणी प्रारंभ में जोड़ सकते हैं समारोह:

$id = "1";    
$array = array("a",  "b",  "c");
$array = array_unshift($array, $id);

... और फिर execute() . को संशोधित करें इस तरह कॉल करें:

$statement1->execute($array);


  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 कोड

  2. java.sql.SQLException:लोकलहोस्ट टेस्ट के लिए कोई उपयुक्त ड्राइवर नहीं मिला

  3. (My)SQL तीन तालिकाओं के साथ पूर्ण रूप से जुड़ता है

  4. जब मैं एक नया इंडेक्स जोड़ता हूं तो MySQL में किसी इंडेक्स की कार्डिनैलिटी अपरिवर्तित क्यों रहती है?

  5. त्रुटि संदेश:थ्रेड मुख्य org.hibernate.HibernateException में अपवाद:स्टैक्स स्ट्रीम तक पहुँचने में त्रुटि