masalah Stack trace
Hallo teman2 saay mau tanya ni, saya ada masalah saat tampil table. notif nya : Fatal error: Uncaught Error: mysqli object is already closed in C:\xampp\htdocs\perpustakaan\tes.php:14 Stack trace: #0 C:\xampp\htdocs\perpustakaan\tes.php(14): mysqli_query(Object(mysqli), 'SELECT * FROM t...') #1 {main} thrown in C:\xampp\htdocs\perpustakaan\tes.php on line 14
boleh sarannya teman2?
table
koneksi
boleh sarannya teman2?
table
<?php include 'koneksi/connection.php'; ?> <!-- table --> <table border="2" class="table table-striped" style="width:100%"> <thead> <tr> <th>NO.</th> <th>TANGGAL</th> <th>NAMA BUKU</th> <th>KETERANGAN</th> </tr> </thead> <?php $no=1; $ambildata = mysqli_query($con, "SELECT * FROM tb_perpustakaan"); while ($tampil = mysqli_fetch_array($ambildata)){ echo " <tr> <td>$no</td> <td>$tampil[tanggal]</td> <td>$tampil[nama_buku]</td> <td>$tampil[keterangan]</td> </tr> "; $no++; } ?> </tbody> </table>
koneksi
<?php $host = 'localhost'; $user = 'root'; $pass = ''; $dbname = 'db_perpustakaan'; $con = mysqli_connect($host,$user,$pass); mysqli_close($con); // if ($dbselect == true) { // echo "Connection Success!"; // } else { // echo "Connection Failed!"; // }
28 Kontribusi 3 Poin
Jawaban
Itu kamu baru membuka koneksi.
$con = mysqli_connect($host,$user,$pass);tapi kenapa langsung di matikan kembali
mysqli_close($con);
62 Kontribusi 47 Poin
Pesan kesalahan "Fatal error: Uncaught Error: mysqli object is already closed" disebabkan oleh mencoba menggunakan objek mysqli yang sudah ditutup sebelumnya. Hal ini dapat terjadi jika Anda lupa menutup objek setelah selesai menggunakannya, atau jika Anda mencoba menggunakannya setelah skrip selesai.
Dalam kasus Anda, kesalahan tersebut disebabkan oleh fungsi `mysqli_close()` di file `koneksi.php`. Fungsi ini menutup objek mysqli, sehingga Anda tidak dapat menggunakannya lagi setelah dipanggil.
Untuk memperbaiki kesalahan tersebut, Anda perlu memindahkan fungsi `mysqli_close()` ke bagian akhir file `koneksi.php`. Hal ini akan memastikan bahwa objek ditutup setelah selesai digunakan, dan Anda tidak akan mendapatkan pesan kesalahan.
Berikut adalah kode yang telah diperbaiki:
Setelah Anda melakukan perubahan ini, pesan kesalahan seharusnya hilang dan Anda dapat menampilkan tabel tanpa masalah.
Dalam kasus Anda, kesalahan tersebut disebabkan oleh fungsi `mysqli_close()` di file `koneksi.php`. Fungsi ini menutup objek mysqli, sehingga Anda tidak dapat menggunakannya lagi setelah dipanggil.
Untuk memperbaiki kesalahan tersebut, Anda perlu memindahkan fungsi `mysqli_close()` ke bagian akhir file `koneksi.php`. Hal ini akan memastikan bahwa objek ditutup setelah selesai digunakan, dan Anda tidak akan mendapatkan pesan kesalahan.
Berikut adalah kode yang telah diperbaiki:
```php <?php $host = 'localhost'; $user = 'root'; $pass = ''; $dbname = 'db_perpustakaan'; $con = mysqli_connect($host,$user,$pass); // if ($dbselect == true) { // echo "Connection Success!"; // } else { // echo "Connection Failed!"; // } ?> <!-- table --> <table border="2" class="table table-striped" style="width:100%"> <thead> <tr> <th>NO.</th> <th>TANGGAL</th> <th>NAMA BUKU</th> <th>KETERANGAN</th> </tr> </thead> <?php $no=1; $ambildata = mysqli_query($con, "SELECT * FROM tb_perpustakaan"); while ($tampil = mysqli_fetch_array($ambildata)){ echo " <tr> <td>$no</td> <td>$tampil[tanggal]</td> <td>$tampil[nama_buku]</td> <td>$tampil[keterangan]</td> </tr> "; $no++; } ?> </tbody> </table> ```
Setelah Anda melakukan perubahan ini, pesan kesalahan seharusnya hilang dan Anda dapat menampilkan tabel tanpa masalah.
54 Kontribusi 24 Poin
Login untuk gabung berdiskusi
Pertanyaan Lainnya
Top Kontributor
- @ahanafi
814 Kontribusi 551 Poin
- @Nandar
648 Kontribusi 204 Poin
- @dianarifr
642 Kontribusi 316 Poin
- @Saputroandhi
509 Kontribusi 162 Poin
- @dodipsitorus
412 Kontribusi 145 Poin