Lancar di localhost, error saat hosting

saya mau menampilkan jumlah data dari database saya coba localhost tidak ada masalah tapi saat coba di hosting menampilkan error Type: Error Message: Call to a member function num_rows() on boolean

model

<?php
class m_admin extends CI_model
{

    public function jumlahUser(){
  		return $this->db->query("SELECT id FROM tb_user")->num_rows();
  }

  public function jumlahPenyakit(){
        return $this->db->query("SELECT id_p FROM tb_penyakit")->num_rows();
  }

  public function jumlahGejala(){
  		 return $this->db->query("SELECT id FROM tb_gejalads")->num_rows();
  }

  public function jumlahDiagnosa(){
  		return  $this->db->query("SELECT id_hasilds FROM tb_hasilds")->num_rows();
  }

}

controller

public function index(){
$data['user']    	= $this->m_admin->jumlahUser();
$data['penyakit'] = $this->m_admin->jumlahPenyakit();
$data['gejala']		= $this->m_admin->jumlahGejala();
$data['diagnosa']	= $this->m_admin->jumlahDiagnosa();
$this->load->view('templates/header',$data);
$this->load->view('admin/v_admin');
$this->load->view('templates/footer');
}

view saat pemanggilan

<span class="h2 font-weight-bold mb-0"><?= $penyakit ?></span>

ketika saya coba menampilkan satu fungsi, jumlahnya tampil

tapi ketika semua fungsi saya tampilkan, jadinya pesan error boolean

apa ada hubungannya dengan hostingannya? saya coba hosting gratis di 000webhost mohon pencerahannya

avatar h1rum421
@h1rum421

6 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

Tanggapan

"tapi ketika semua fungsi saya tampilkan, jadinya pesan error " Bisa di bertahu script ketika semua fungsi di tampilkan?

dan kalau bisa sertakan screenshot tampilan error-nya

saya panggilnya satu persatu dari tiap tabel. karena ada 4 tabel, saya manggil fungsi num_row dari tiap tabel. di view saya panggil dengan <?= $penyakit ?> <?= $gejala ?> dst. tapi kalau saya cuman panggil 1, contohnya <?= $penyakit ?> tidak ada masalah. pesan error sudah saya sertakan

3 Jawaban:

kalo di upload ke hosting ga error itu aneh hehe, bisa jadi karena perbedaan php versi atau yang lainnya.

num_rows() gabisa di pake karena objectnya null atau berupa FALSE/boolean, coba ubah kodenya jadi gini:

<pre> $query = $this-&gt;db-&gt;query("SELECT id_p FROM tb_penyakit");

if($query !== FALSE && $query-&gt;num_rows() &gt;= 1){ $query_count = $query-&gt;num_rows(); }else{ $query_count = 0; }

return $query_count; </pre>

test 1 dulu, kalo udah bisa coba ubah semua format codingan jadi begitu

semoga membantu,,

avatar beckbella
@beckbella

68 Kontribusi 38 Poin

Dipost 4 tahun yang lalu

Tanggapan

etika saya coba hanya 1 memang keluar hasilnya, tapi ketika semuanya dipanggil yang punya nilai hanya yang paling lebih dulu dipanggil di controller(saya menulis sintaks total "penyakit" duluan, lalu total "gejala", lalu total "user", dst), yang punya nilai hanya "penyakit", yang lainnya memberi nilai 0. ketika "penyakit" saya nonaktifkan, tadinya "gejala" yang tidak punya nilai jadi punya nilai.

update. sepertinya emang pengaruh hostingannya ya? karena saya pakainya gratisan jadinya koneksi buat ke databasenya agak tidak lancar? jadi pada halaman yang sama tiap saya coba refresh ada yang menghasilkan nilai dan ada yang tidak menghasilkan nilai secara bergantian

udah coba di ganti pas manggil num_rows() nya mas? suka gabisa kalo langsung ->query()->num_rows(), iya pasti ada pengaruh requirement hostingnya juga

iya, sudah saya coba ganti. web yang saya maksud -> http://sistempakarpenyakitumum.000webhostapp.com/admin

Saya juga ngalamain ini , bagaimana solusinya?

avatar yusufrhmnt
@yusufrhmnt

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

ganti <pre> public function </pre> menjadi <pre> public function static </pre>

sudah biasa ini untuk dibeberapa hosting, semoga berhasil

avatar uzzielpelawak
@uzzielpelawak

72 Kontribusi 21 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban