0
私のコントローラから関数を呼び出すときに問題があります。「非オブジェクトのメンバ関数num_rows()を呼び出す」と言いました。codeigniterの非オブジェクトのnum_rows()関数への呼び出し
これは、モデル
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Mymodel extends CI_Model {
public function GetProduk($where=""){
$data = $this->db->query('select * from produk'.$where);
return $data;
}
public function GetKategori($where=""){
$data = $this->db->query('select * from kategori '.$where);
return $data -> result_array();
}
}
は、誰もがそれで間違っているものを私に伝えることができ、私のweb.phpコントローラからの私の機能というカテゴリ
public function categori($id){
$cek = $this->mymodel->GetKategori("where kode_kategori = '$id'");
if ($cek->num_rows() > 0) {
$data = array(
"produk_populers" => $this->mymodel->GetProduk("where kode_kategori = '$id'")->result_array()
);
$comp = array(
"header" => $this->html_header(),
"navbar" => $this->html_navbar(),
"produk_populer" => $this->load->view("produk_populer",$data,true),
"kategori" => $this->html_kategori(),
"footer" => $this->html_footer(),
);
$this->load->view("index",$comp);
}else{
show_404();
}
}
、これですか?
$cek = $this->mymodel->GetKategori("where kode_kategori = '$id'");
オブジェクトではありません。私はそれがから返される値は意味..おかげ
var_dumpを使った後、これは次のようになります:array [1] {[0] => array(2){["kode_kategori"] => string(1) "1" ["judul_kategori"] => string (30) "RTD Juices"}}それはそのようになっているようですが、どうして私はそれを実行するのですか? –
オブジェクトではない配列が返されたため、なぜそのメソッドが失敗したのですか? '$ cek-> num_rows()'を 'count($ check)'に置き換えると、意図した通りに動作するはずです。 –
私はcount($ cek)を使用した後、これが表示されます:データベースエラーが発生しました エラー番号:1064 SQL構文にエラーがあります。右の構文が行1で '=' 1 ''の近くで使用するようにMariaDBサーバーのバージョンに対応するマニュアルを確認してください。 select * from produkwhere kode_kategori = '1' ファイル名:C:/ xampp/htdocs/genstore /システム/データベース/ DB_driver.php 行番号:691.修正方法はありますか? –