Daftar dan Belajar Sekarang!

Kenapa query dengan if statment mengambil data, menyebabkan error ?

foto stivnz
316 Kontribusi 97 Coto
1 bulan yang lalu
Halo teman teman, saya punya masalah saat mengambil suatu data dari database, maksudnya, jika saya ambil data dengan : *Perhatikan code yang saya block [OOP VERSION]
private function run_query($query)
		{

			if ($this->mysqli->query($query)) return true;
			else return false;
			
		}
Dia bakal mengalami error seperti ini  https://i.imgur.com/VDtzBvP.png ============================================= Namun Jika saya menggunakan code dibawah [OOP VERSION]
private function query_get($query)
		{
			$run_query = $this->mysqli->query($query);

			return $run_query;
		}
============================================ Hasilnya sukses seperti apa yang saya mau  https://i.imgur.com/QAwCZWQ.png ============================================ method run_query() saya gunakan ketika menjalankan query tambah/hapus/edit sedangkan method query_get() saya gunakan untuk mengambil data dari Db. seperti ini ketika saya membuat method insert() menggunakan run_query
public function insert($table,$data = [])
		{	
			$key = implode(',',array_keys($data));


			$i = 0;
			$value_arr = [];
			foreach ($data as $keys => $values) {

				if ((int)$values) {
					$value_arr[$i] = $this->escape_data($values);
				}else{
					$value_arr[$i] = "'".$this->escape_data($values)."'";
				}
				$i++;
			}

			$convert_value = implode(',',$value_arr);
			$query = "INSERT INTO $table ($key) VALUES ($convert_value)";

			$run_query = $this->run_query($query);

			if($run_query) return true;
			else return false;
		}
Dan ini ketika saya mengambil data dengan method get_all_data() saya menggunakan query_get()
public function get_all_data($table)
		{
			$query  = "SELECT * FROM $table";
			$result = $this->query_get($query);

			return $result;
		}
Namun jika pada get_all_data() saya gunakan run_query(). saya mendapatkan error seperti dibawah.  https://i.imgur.com/VDtzBvP.png Intinya ketika suatu method/fungsi untuk menjalankan query saya statementkan return true dan false dia gagal namu jika hanya saya return querynya langsung itu sukses ketika mengambil data, mungkin agan agan disini bisa membantu menjelaskan kenapa bisa terjadi seperti itu ?, dan apakah agan mendapatkan masalah seperti ini juga ???
  • Halo Steven, coba upload kode sebagai kode bukan gambar dan funsi yang memanggil query_get() coba ditampilkan - hilmanrdn
  • sudah diralat :D - stivnz

Login untuk tulis komentar


Jawaban
foto hilmanrdn
1821 Kontribusi 1365 Coto
1 bulan yang lalu
Karena fungsi query_get kamu yang bertugas menjalankan querynya
private function query_get($query) {
	$run_query = $this->mysqli->query($query);
	return $run_query;
}
bisa dilihat dari errornya mysql_fetch_object expect (berharap) parameter 1 adalah query bukan boolean true/false BIsa dilihat dari errornya
  • jadi mau gamau saya harus bikin 2 method yang terpisab untuk menjalani query pengambilan data, dan create update delete nya ya ?, kalo kak sendiri bagaimana ? - stivnz
  • maksudnya 2 method? bagaimana menulisnya terserah kamu, kalau mau digabung jadi satu fungsi, berarti jalankan juga this->mysql->querynya di fingsi yang sama - hilmanrdn

Login untuk tulis komentar



Login untuk diksusi di forum sekolah koding