2011-12-20 24 views
11

मैंने कुछ अन्य पोस्टों को देखने का प्रयास किया, लेकिन जो कुछ भी मैं ढूंढ रहा हूं उसे बिल्कुल नहीं देखा।PHP MySQL PDO lastInsertID घातक त्रुटि का कारण बनता है

If the PDO driver does not support this capability, PDO::lastInsertId() triggers an IM001 SQLSTATE.

कैसे:

[Tue Dec 20 13:59:23 2011] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined method PDOStatement::lastInsertId() in /media/Storage/www/2011/admin/public/ajax.users.php on line 87, referer: http://localhost/2011/admin/public/menu.php?page=users 

पीडीओ :: lastInsertId() के लिए php के मैनुअल के अनुसार:

मैं एक DB क्वेरी

$sql = "INSERT INTO groups(Name) VALUES (:name)"; 
$dbs = $dbo->prepare($sql); 

$dbs->bindParam(":name", $_POST['name'], PDO::PARAM_STR); 

$dbs->execute(); 

$groupID = $dbs->lastInsertId(); 

इस घातक त्रुटि देता है यही कारण है कि है क्या मैं निर्धारित करता हूं कि मेरा सर्वर lastInsertId() का समर्थन करता है या नहीं? मुझे कहीं भी मेरे त्रुटि लॉग में IM001 नहीं दिखाई देता है।

जब मैं इसे चलाता हूं, तो डेटा ठीक से डाला जाता है, लेकिन मुझे इसके आईडी को INSERT के अगले सेट में उपयोग करने के लिए नहीं मिल सकता है जो समूह अनुमतियां सेट करता है।

उत्तर

28

lastInsertId() पीडीओ कक्षा का एक तरीका है, न कि पीडीओएसटेमेंट कक्षा।

यह काम करना चाहिए:

$groupID = $dbo->lastInsertId(); 
+2

LOL वाह, मैं गूंगा धन्यवाद लग रहा है! – guyfromfl

संबंधित मुद्दे