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);