Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
PHP Pemula - Fatal error: Uncaught TypeError: mysqli_query():
Mohon bantuannya, errornya tampil seperti ini :
Fatal error: Uncaught TypeError: mysqli_query(): Argument #1 ($mysql) must be of type mysqli, null given in D:\xampp\htdocs\phpdasar\pertemuan10\functions.php:6 Stack trace: #0 D:\xampp\htdocs\phpdasar\pertemuan10\functions.php(6): mysqli_query(NULL, 'SELECT * FROM m...') #1 D:\xampp\htdocs\phpdasar\pertemuan10\index.php(3): query('SELECT * FROM m...') #2 {main} thrown in D:\xampp\htdocs\phpdasar\pertemuan10\functions.php on line 6
functions.php
<?php
// koneksi ke database
function query ($query){
global $conn;
$result = mysqli_query ($conn, $query);
$rows = [];
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
return $rows;
}
function tambah ($data){
global $conn;
// ambil data dari tiap elemen dalam form
$nim = $data ["nim"];
$nama= $data["nama"];
$email= $data["email"];
$jurusan= $data["jurusan"];
$gambar= $data ["gambar"];
$query = "INSERT INTO mahasiswa
VALUES
('', '$nim','$nama','$email','$jurusan', '$gambar');
";
mysqli_query ($conn, $query);
return mysqli_affected_rows ($conn);
}
?>
index.php
<?php
require 'functions.php';
$mahasiswa = query ("SELECT * FROM mahasiswa");
?>
<!DOCTYPE html>
<html>
<head>
<title>Halaman Admin</title>
</head>
<body>
<h1>Daftar Mahasiswa</h1>
<a href="tambah.php">Tambah Data Mahasiswa </a>
<br><br>
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<th>No.</th>
<th>Aksi</th>
<th>Gambar</th>
<th>NIM</th>
<th>Nama</th>
<th>Email</th>
<th>Jurusan</th>
</tr>
<?php $i = 1; ?>
<?php foreach ($mahasiswa as $row) :
?>
<tr>
<td><?php echo $i; ?></td>
<td>
<a href="">ubah</a> |
<a href="">hapus</a>
</td>
<td><img src="img/<?php echo $row ["gambar"];?>" width="50"></td>
<td><?php echo $row ["nim"]; ?></td>
<td><?php echo $row ["nama"]; ?></td>
<td><?php echo $row ["email"]; ?></td>
<td><?php echo $row ["jurusan"]; ?></td>
</tr>
<?php $i++; ?>
<?php endforeach; ?>
</table>
</body>
</html>
tambah.php
<?php
// Koneksi ke DMS
require 'functions.php';
$conn = mysqli_connect("localhost", "root", "", "phpdasar");
// cek apakah tombol submit sudah ditekan atau belum
if (isset($_POST["submit"])) {
// cek apakah berhasil ditambahkan/tidak
if (tambah($_POST) > 0) {
echo "data berhasil ditambahkan";
} else {
echo "data gagal ditambahkan";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Tambah Data Mahasiswa</title>
</head>
<body>
<h1>Tambah data mahasiswa</h1>
<form action="" method="post">
<ul>
<label for="nim">NIM :</label>
<li>
<input type="text" name="nim" id="nim">
</li>
<label for="nama">Nama :</label>
<li>
<input type="text" name="nama" id="nama">
</li>
<label for="email">Email :</label>
<li>
<input type="text" name="email" id="email">
</li>
<label for="jurusan">Jurusan :</label>
<li>
<input type="text" name="jurusan" id="jurusan">
</li>
<label for="gambar">Gambar :</label>
<li>
<input type="text" name="gambar" id="gambar">
</li>
<li>
<button type="submit" name="submit">Tambah Data !</button>
</li>
</ul>
</form>
</body>
</html>
1 Jawaban:
Jawaban Terpilih
<div>Di index.php, kamu belum buat variabel $conn seperti yang di ada di tambah.php:</div><pre>$conn = mysqli_connect("localhost", "root", "", "phpdasar");</pre>