[ASK] Proses search PHP Mysql error pada Boolean Variabel

  <div class="box-body">
			<?php
                if(!isset($_SESSION['admin'])){

                }
                if(isset($_SESSION['admin'])){
                    global $mysqli;
					$sqlperaturan = "SELECT * FROM peraturan ORDER BY Nama ASC ";

					$resultperaturan = mysqli_query($mysqli, $sqlperaturan);

		if(isset($_POST['query']) && $_POST['query'] == "Hapus"){
		$id = $_POST['id'];
		$sqlhapus = "DELETE FROM peraturan WHERE Id='$id' ";
		mysqli_query($mysql, $sqlhapus);
		header('location:index.php');
	}

	?>
	<div class="col-sm-12" id="Peraturan" >

	<br/>
	<div class="text-center">
	</div>
	<br/>
	<div class="row" style="height:450px;overflow:auto;">
	<script>
	function konfirmasiHapus(){
		var t = confirm("Hapus Peraturan?");
		if(t == true) {
			return true;
		} else {
			return false;
		}
	}
	</script>
		<?php
		if(isset($_POST['query']) && $_POST['query'] == "Cari"){
			$cari = $_POST['q'];
			$sqlcari = "SELECT * FROM peraturan ORDER BY Nama ASC WHERE Nama LIKE '%$cari%' OR Jenis LIKE '%$cari%'";

			$resultsqlcari = mysqli_query($mysqli, $sqlcari);
			if(mysqli_num_rows($resultsqlcari) > 0){
				while($rowcari = mysqli_fetch_assoc($resultsqlcari)){
					$hasilid = $rowcari['Id_peraturan'];
					$hasilnama = $rowcari['Nama'];
					$hasildeskripsi = $rowcari['Jenis'];

					?>
					<div class="panel panel-default">
					<div class="panel-heading">
					<?php
					echo "<a href='cari-aksi.php?id=".$hasilid."'>".$hasilnama."</a>" . " "  ;
					?>
					</div>
					<div class="panel-body">
					<?php
					echo $hasildeskripsi
					?>
					</div>
					<div class="panel-footer">
					<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>" onsubmit="return konfirmasiHapus()">
						<input type="hidden" name="Id" value="<?php echo $hasilid; ?>">
						<input type="submit" class="btn btn-danger" value="Hapus">
					</form>
					</div>
					</div>
					<?php
				}
			} else {
				?>
					<div class="panel panel-danger">
						<div class="panel-heading text-center">
						Peraturan tidak ada
						</div>
					</div>
				<?php
			}

		} else {
			if(mysqli_num_rows($resultkursus) > 0){
				while($rowkursus = mysqli_fetch_assoc($resultkursus)){
					$id = $rowkursus['Id_peraturan'];
					$nama = $rowkursus['Nama'];
					$deskripsi = $rowkursus['Jenis'];

					?>
					<div class="panel panel-default">
					<div class="panel-heading">
					<?php
					echo "<a href='cari-aksi.php?id=".$id."'>".$nama."</a>" . " " ;
					?>
					</div>
					<div class="panel-body">
					<?php
					echo $jenis
					?>
					</div>
					<div class="panel-footer">
					<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>" onsubmit="return konfirmasiHapus()">
						<input type="hidden" name="Id" value="<?php echo $id; ?>">
						<input type="submit" name="query" class="btn btn-danger" value="Hapus">
					</form>
					</div>
					</div>
						<?php
				}
			} else {
				echo "Belum ada kursus";
			}
		}
		?>
		</div>
	</div>
 if(mysqli_num_rows($resultsqlcari) > 0){

pada bagian ini kok sering eror ya ? Dan muncul pesan "Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\navigasi3\cari-aksi.php on line 69". Ada yg tau cara ngatasinnya apa enggak ? Terima kasih.

avatar haye16
@haye16

3 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

4 Jawaban:

 if(mysqli_num_rows($resultsqlcari) > 0){

pada bagian ini kok sering eror ya ? Dan muncul pesan "Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\navigasi3\cari-aksi.php on line 69". Ada yg tau cara ngatasinnya apa enggak ? Terima kasih.

avatar haye16
@haye16

3 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

arti erornya "mysqli_num_rows butuh parameternya hasil dari mysqli_result, tapi yang agan kasih boolean(antara true dan false) jadi yang agan perlu lakukan, dicek isi dari variable $resultkursus bisa di die($resultkursus) atau var_dump($resultkursus) untuk ngelihat isinya apa sebelum dipake

avatar hilmanski
@hilmanski

2672 Kontribusi 2132 Poin

Dipost 7 tahun yang lalu

Itu sering error karena line ini


$sqlcari = "SELECT * FROM peraturan ORDER BY Nama ASC WHERE Nama LIKE '%$cari%' OR Jenis LIKE '%$cari%'";
$resultsqlcari = mysqli_query($mysqli, $sqlcari);

Kalau hasil searchnya ga ada, $resultsqlcari return false. Dicek dulu hasilnya, kalau bukan false baru di mysqli_num_rows.

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 7 tahun yang lalu

makasih gan. ane coba lagi

avatar haye16
@haye16

3 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban