2010-04-20 12 views
7

मैंने नीचे दिए गए कोड (बड़े वर्ग से स्निपलेट) के साथ अंतिम डालने वाली आईडी प्राप्त करने के कई तरीकों का प्रयास किया है और अब मैंने छोड़ दिया है।पीडीओ lastInsertId मुद्दों, php

क्या कोई जानता है कि पीडीओ को अंतिम रूप से कैसे काम करना है?

अग्रिम धन्यवाद।

$sql = "INSERT INTO auth (surname, forename, email, mobile, mobilepin, actlink, regdate) VALUES (:surname, :forename, :email, :mobile, :mobpin, :actlink, NOW())"; 
$stmt = $this->dbh->prepare($sql); 
if(!$stmt) { 
return "st"; 
} 

$stmt->bindParam(':surname', $this->surname); 
$stmt->bindParam(':forename', $this->forename); 
$stmt->bindParam(':email', $this->email); 
$stmt->bindParam(':mobile', $this->mobile); 
$stmt->bindParam(':mobpin', $this->mobilePin); 
$stmt->bindParam(':actlink', $this->actlink); 

$result = $stmt->execute(); 
//return var_dump($result); 
$arr = array(); 
$arr = $stmt->errorInfo(); 
$_SESSION['record'] = 'OK' . $dbh->lastInsertId(); 
$arr .= $_SESSION['record']; 
return $arr; 
+0

आप भी यह कैसे काम नहीं कर रहा उल्लेख सकते हैं? सिर्फ यह कहकर, यह काम नहीं करता है अन्य लोगों को यह मानने के लिए प्रेरित करता है कि समस्या क्या हो सकती है। अधिक जानकारी के साथ और अधिक जवाब आते हैं। –

उत्तर

12

अपने कोड स्निपेट में, मैं कुछ मामूली विसंगतियों समस्या पर एक प्रभाव हो सकता है कि देखा। एक उदाहरण के लिए, कोड में अपने एसक्यूएल बयान का उपयोग करें,

$stmt = $this->dbh->prepare($sql); 

सूचना $this कीवर्ड तैयार करने के लिए। फिर आईडी पुनः प्राप्त करने के लिए, आप कहते हैं,

$dbh->lastInsertId(); 

आप उपयोग करने की कोशिश है,

$this->dbh->lastInsertId();

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