एक तैयार कथन केवल एक MySQL क्वेरी निष्पादित कर सकता है। आप अलग-अलग वेरिएबल में जितने चाहें उतने स्टेटमेंट तैयार कर सकते हैं:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
और फिर उन्हें बाद में निष्पादित करें। यदि आप यह सुनिश्चित करना चाहते हैं कि दोनों में से कोई भी तब तक नहीं चलाया जाए जब तक कि दोनों चलने में सक्षम न हों, तो आपको लेनदेन को देखने की जरूरत है, जैसे थॉमस ने कहा।
साथ ही, एक सामान्य टिप:"एक गैर-ऑब्जेक्ट पर सदस्य फ़ंक्शन को कॉल करें" मानक त्रुटि है जो आपको तब मिलती है जब prepare()
विफल रहता है और इसलिए $stmt
वास्तव में एक तैयार कथन वस्तु नहीं है। इसका आमतौर पर मतलब है कि आपको अपने prepare()
. में एक त्रुटि देखने की जरूरत है बयान के बजाय कुछ भी बाद में।