Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

<?php
    include'config/koneksi.php';
	//$nomor = $_POST ['nomor'];
	$nilai = $_POST['nilai'];
	$user_login_id = $_POST ['user_login_id'];
	$nama_penyetor = $_POST ['nama_penyetor'];
	$wkt_terima = date("Y-m-d h:i:sa");
	$keterangan = $_POST ['keterangan'];
	$jenis_kas = $_POST ['jenis_kas'];
	$tag = $_POST ['tag'];
	$tipe = $_POST ['tipe'];

	$today = date("Ymd");
	$query1 = "SELECT max(nomor) as maxID FROM ttss WHERE nomor LIKE '$today%'" ;
    $hasil = mysql_query($query1);
    $data = mysql_fetch_array($hasil);
    $idMax = $data['maxID'];

   //setelah membaca id terakhir, lanjut mencari nomor urut id dari id terakhir
    $NoUrut = (int) substr($idMax, 8, 4);
    $NoUrut++; //nomor urut +1

   //setelah ketemu id terakhir lanjut membuat id baru dengan format sbb:
    $nomor = $today .sprintf('%03s', $NoUrut);

if (isset($_POST['tambah'])){

// Simpan di Folder Gambar
//move_uploaded_file($fileName);
 $query = $mysqli->query("INSERT INTO ttss values ('$nomor', '$nilai','$user_login_id','$nama_penyetor','$wkt_terima','$keterangan','$jenis_kas','$tag','$tipe')");

  if ($query) {
    header("location:ttss.php");
} else {
    echo "gagal menambah data";
  }
}
?>

salah dimana nya y? help

avatar alanbeck
@alanbeck

7 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

Halo alanbeck

Mohon izin menjawab,

pada bagian ini: <pre> $data = mysql_fetch_array($hasil); $idMax = $data['maxID']; </pre>

karena hasilnya bisa lebih dari 1 data, maka perlu di looping: <pre> while($row = mysql_fetch_array($hasil)){ $idMax = $row['maxID']; } </pre>

Semoga dapat terjawab,

sumber: <a href='https://thisinterestsme.com/mysql_fetch_array-expects-parameter-1-to-be-resource/'>https://thisinterestsme.com/mysql_fetch_array-expects-parameter-1-to-be-resource/</a>

avatar keccikun
@keccikun

368 Kontribusi 197 Poin

Dipost 4 tahun yang lalu

Tanggapan

masih sama bang

Coba bagian ini : <pre> $query1 = "SELECT max(nomor) as maxID FROM ttss WHERE nomor LIKE '$today%'" ; </pre>

diubah jadi :

<pre> $query1 = "SELECT max(nomor) as maxID FROM ttss WHERE nomor LIKE '%$today%'" ; </pre>

lihat perubahan bagian $today, kalo agan mau buat feature pencarian, biasanya variabel yang menampung nilai/keywordnya harus dihimpit oleh tanda % =&gt; WHERE LIKE '%$keyword%'

Semoga membantu!

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 4 tahun yang lalu

Tanggapan

masih bang error Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\e-cash\prosestambahstr.php on line 17 gagal menambah data

line 17 yg mana?

$data = mysql_fetch_array($hasil); $idMax = $data['maxID'];

antara dua itu bang

Coba agan cek kembali bagian ini : <pre> $query1 = "SELECT max(nomor) as maxID FROM ttss WHERE nomor LIKE '$today%'" ; $hasil = mysql_query($query1); </pre>

Saya rasa query agan salah. Coba perhatikan lagi nama_field atau nama_tabel sama persis dengan yang di database gak. Kalau mau memastikan benar atau tidaknya query di dalam program, saran saya dengan memanfaatkan ifelse <pre> &lt;?php $query1 = "SELECT max(nomor) as maxID FROM ttss WHERE nomor LIKE '$today%'" ; if(!$hasil = mysql_query($query1)){ echo "There is an error #1"; }else{ if(!$data = mysql_fetch_array($hasil)){ echo "There is an error #2"; }else{ $idMax = $data['maxID']; } } </pre>

Setahu saya "Warning: mysql_fetch_array() expects parameter 1 to be resource .." terjadi karena parameter dari mysql_fetch_array(parameter) harus resource, sedangkan query agan "$query1" menghasilkan boolean false karena (mungkin) salah. Berdasarkan PHP.net : "For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error. "

Terimakasih ...

Sumber: <a href='https://www.php.net/manual/en/function.mysql-query.php'>php.net</a>

avatar banisrailubis
@banisrailubis

25 Kontribusi 18 Poin

Dipost 4 tahun yang lalu

Tanggapan

sebenernya saat saya buat di pc saya bisa input dengan akses database http://localhost/phpmyadmin. tp saat saya pindahkan ke pc server baru tidak bisa bang. akses di server http://localhost:81/phpmyadmin. nah di koneksi php nya sdah saya tambahkan localhost:81, tp cma muter doang.klu cm pakek localhost error seperti di judul

Oh, coba di koneksi.php nya "localhost:81" diganti jadi "localhost:3306"

Tolong agan rubah judul pertanyaannya ya. Karena masalah agan sebenarnya bukan ini "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in", orang lain juga jadi keliru menjawabnya.

sdah saya rubah ke localhost:3306, keterangannya gagal menambahkan data

Login untuk ikut Jawaban