आप वास्तव में बहुत अधिक कर रहे हैं:
$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $dbh->query($query);
समस्याग्रस्त रेखा है:
$result = $dbh->query($query);
http://php.net/pdo.query
से जांचें , पैरामीटर एक स्ट्रिंग है, वास्तव में SQL स्ट्रिंग जिसका आप पहले से ही ऊपर उपयोग कर रहे हैं, न कि PDO::prepare()
का परिणाम मान कॉल करें।
अपनी सरल क्वेरी के लिए आप बस यह कर सकते हैं:
$result = $dbh->query("SELECT * FROM students");
या अगर आप तैयारी करना पसंद करते हैं:
$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $query;
बाद में कुछ बॉयलरप्लेट है यदि आप क्वेरी में चर सम्मिलित करना चाहते हैं, इसलिए आप इसे तैयार करते हैं।
अगली समस्या foreach
. के साथ है पंक्ति:
foreach($result as $row);
आप अल्पविराम ;
. के कारण तुरंत लूप को समाप्त कर रहे हैं अंत में। उस अर्धविराम को हटा दें ताकि निम्न कोण-कोष्ठक कोड-ब्लॉक फ़ोरैच-लूप का मुख्य भाग बन जाए।