Anda melakukan terlalu banyak sebenarnya:
$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $dbh->query($query);
Baris yang bermasalah adalah:
$result = $dbh->query($query);
Periksa dengan http://php.net/pdo.query
, parameternya adalah string, sebenarnya string SQL yang sudah Anda gunakan di atas, bukan nilai hasil dari PDO::prepare()
telepon.
Untuk kueri sederhana Anda, Anda cukup melakukan:
$result = $dbh->query("SELECT * FROM students");
Atau jika Anda ingin menyiapkan:
$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $query;
Nanti ada beberapa boilerplate jika Anda ingin memasukkan variabel ke dalam kueri, itu sebabnya Anda menyiapkannya.
Masalah berikutnya adalah dengan foreach
baris:
foreach($result as $row);
Anda segera menghentikan perulangan karena tanda titik koma ;
pada akhirnya. Hapus titik koma tersebut sehingga blok kode kurung siku berikut menjadi badan loop foreach.