दिलचस्प पोस्ट
एक निर्देशिका के अंदर फाइलें प्राप्त करें बैच फ़ाइल में उपयोगकर्ता द्वारा प्रदत्त इनपुट के लिए पीछे और अग्रणी व्हाइसेस्पेस को कैसे निकालना है? हमें यहां टाइप नाम की आवश्यकता क्यों है? एंड्रॉइड: फोन का पूरा नियंत्रण लेना (कियोस्क मोड), क्या यह संभव है? कैसे? सी # में मूल्य प्रकार और संदर्भ प्रकारों के बीच अंतर क्या हैं? संगतता रखने के लिए एंड्रॉइड में बहिष्कृत वर्गों से कैसे निपटें NHibernate 3.0.0 का उपयोग करते समय कार्टेसीयन उत्पाद (एक्स-जॉइनिंग) से लड़ना मैं UINavigationController से एक दृश्य कैसे पॉप कर सकता हूं और इसे दूसरे ऑपरेशन में बदल सकता हूं? टाइमस्टैम्प को तारीख को MySQL क्वेरी में कनवर्ट करें उच्च आयामी डेटा में निकटतम पड़ोसियों? विज़ुअल स्टूडियो 2017 को इसकी कॉन्फ़िग की जानकारी कहां है? क्या कोई भी तरीका है जो मैं बता सकता हूं कि स्क्रीन कितनी मुश्किल है एचपीएल को पीएचपी या ईको का प्रयोग करें? कौनसा अच्छा है? क्यों textarea रहस्यमय सफेद रिक्त स्थान से भरा है? दो भिन्न सर्वर से तालिकाओं में शामिल हों

पीडीओ – एक सदस्य समारोह में कॉल तैयार करें () गैर-ऑब्जेक्ट पर

इस कोड को एक त्रुटि मिलती है:

घातक त्रुटि: किसी सदस्य फ़ंक्शन को कॉल करें () को C: \ Users \ fel \ VertrigoServ \ www \ login \ validation.php पर किसी ऑब्जेक्ट पर लाइन 42 पर तैयार करें

कोड:

function repetirDados($email) { if(!empty($_POST['email'])) { $query = "SELECT email FROM users WHERE email = ?"; $stmt = $pdo->prepare($query); // error line: line 42 $email = mysql_real_escape_string($_POST['email']); $stmt->bindValue(1, $email); $ok = $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($results == 0) { return true; } else { echo '<h1>something</h1>'; return false; } } } 

संभव कारण क्या है? एक अन्य सवाल , mysql_num_rows के बराबर क्या है? क्षमा करें, मैं पीडो के साथ नौसिखिया हूँ

Solutions Collecting From Web of "पीडीओ – एक सदस्य समारोह में कॉल तैयार करें () गैर-ऑब्जेक्ट पर"

$pdo अपरिभाषित है आप इसे समारोह के अंदर घोषित नहीं कर रहे हैं, और यह तर्क के रूप में पारित नहीं किया जा रहा है।

आपको इसे (अच्छा) में पारित करना होगा, या इसे वैश्विक नाम स्थान में परिभाषित करना होगा और इसे शीर्ष पर ( global $pdo डालकर अपने फ़ंक्शन पर उपलब्ध कराना होगा।

आप उसी php पृष्ठ में डेटाबेस कनेक्शन का एक फ़ंक्शन बना सकते हैं और उस फ़ंक्शन को कॉल कर सकते हैं जब भी आप चाहें। जैसा,

 public function connection() { $dbc = new PDO("mysql:host=localhost;dbname=chat","root",""); } public function1() { this->connection(); // now you have the connection.. now, time for to do some query.. } public function2() { this->connection(); // now do query stuffs.. } 

या बस आप उस पेज में जब भी इसकी ज़रूरत होती है तो उस पृष्ठ में डेटाबेस कनेक्शन पंक्ति बस लिख सकते हैं जैसा,

 public function a() { // connecting DB for this function a only... $dbc = new PDO("mysql:host=localhost;dbname=chat","root",""); // bla bla bla... } public function b() { // connecting DB for this function b only... $dbc = new PDO("mysql:host=localhost;dbname=chat","root",""); // abra ke dabra... boom } 

$pdo ऑब्जेक्ट आपके फ़ंक्शन के अंतर्गत दायरे में नहीं है।

पीडीओ में mysql_num_rows के समतुल्य के संबंध में मूल रूप से FETCH_NUM यह चयनित पंक्ति के सूचकांक संख्या को वापस करता है

@ एएनवीडी मेरे पास एक ही समस्या थी, लेकिन मैंने इसे उसी पृष्ठ में डेटाबेस से जोड़कर हल किया, न कि सहसंबंध पृष्ठ को शामिल करने के लिए। यह मेरे लिए काम किया

 <?php try { $pdo = new PDO('mysql:host=localhost;dbname=tish_database;charset=utf-8','root',''); } catch(PDOException $e){ echo 'Connection failed'.$e->getMessage(); } ?> 

मुझे वही त्रुटि मिल रही थी: तब मैंने देखा कि मैंने पीडीओ कनेक्शन बंद करने के बाद मैंने अपनी कक्षा को बुलाया।

हां, मैंने यह भी कठिन तरीके से सीखा, आपको फ़ंक्शन के अंदर डीबी कनेक्शन खोलने की आवश्यकता है। मैंने डीबी को कनेक्शन ग्रहण किया था कि फ़ंक्शन के अंदर खोला जाएगा, अगर मैं समारोह को कॉल करने से पहले खोला, लेकिन नहीं। इसलिए:

 function whatever(){ //OPEN DB CONNECTION CODE //CLOSE DB return whateverValue; } 

आप सक्रिय, अनबॉर्फ़ किए गए प्रश्नों से भी इस त्रुटि को सक्रिय कर सकते हैं।

इसलिए, लाइन 41 पर,

 $stmt = null; 

इस कोड की कोशिश करो

 $query =$pdo->prepare("SELECT email FROM users WHERE email = ?"); $email = mysql_real_escape_string($_POST['email']); $stmt->bindValue(1, $email); $ok = $stmt->execute(); $results = $query->fetchAll(PDO::FETCH_ASSOC); if ($results == 0) { return true; } else { echo '<h1>something</h1>'; return false; }