के दौरान प्रभावित पंक्तियां थीं मुझे पीडीओ के लिए निष्पादन कथन का उपयोग करने के कई तरीके मिले हैं, लेकिन मुझे यकीन नहीं है कि यह मेरी मदद करता है। मेरी समझ यह है कि मुझे तैयार बयानों के लिए execute() फ़ंक्शन का उपयोग करना होगा। मैं उपयोगकर्ता इनपुट से डेटा के साथ एक पंक्ति अद्यतन कर रहा हूं, इसलिए मैं क्वेरी() कॉल के बजाय एक तैयार कथन का उपयोग करना चाहता हूं।पीडीओ निष्पादन वक्तव्य
$dbh = buildDBConnector();
$sql = "UPDATE tb_users
SET authState=1
WHERE id = ? AND authPass = ?";
$q = $dbh->prepare($sql);
$f = $q->execute(array($id,$authPass));
if($f){
echo '<br />Success<br />';
}else{
echo '<br />Failure<br />';
}
मुद्दा यह है कि स्वयं क्वेरी त्रुटि मुक्त है और ठीक निष्पादित करता है, इसलिए वहाँ $ f में स्टोर करने के लिए कोई विफलता है:
मेरे कोड इस प्रकार है। हालांकि, मुझे यह जानने की ज़रूरत है कि क्या इसे वास्तव में अद्यतन करने के लिए पंक्ति मिली है, फिर इसे सफलतापूर्वक अपडेट किया गया है। दूसरे शब्दों में, मुझे प्रभावित पंक्तियों की आवश्यकता है। जब गुगलिंग और ऐसा होता है, तो यह निष्पादन वक्तव्य में आता रहता है, लेकिन मेरी समझ से, निष्पादन तैयार बयान के लिए नहीं है? कोई सुझाव?
चेतावनी: मूल्य है अगर * पहले से ही * सेट (अद्यतन दो बार निष्पादित किया जाता है, एक डबल क्लिक किया हो सकता है से सबमिट बटन) दूसरी बार एक त्रुटि का कारण होता है, भले ही डेटा ठीक है। उपयोगकर्ता अनुभव के लिए, यह देखने के लिए बाद में एक चुनिंदा कथन करने के लिए और अधिक भरोसेमंद हो सकता है कि रिकॉर्ड सही मान के साथ मौजूद है या नहीं, tb_users से authState चुनें जहां id =? और authPass =? '। कोई परिणाम नहीं है कि आईडी या पासवर्ड मौजूद नहीं है। (पीएस मुझे आशा है कि आपके पास पासवर्ड है! pbdkf2 को देखो!) –