我在CodeIgniter中遇到了问题。
我的代码:
<?php
$kullanici_yetki_id=$this->session->user_sess['id'];
$result= array(
$this->db->select('*'),
$this->db->from('menuler'),
$this->db->join('menu_yetki', 'menuler.menu_id=menu_yetki.menu_id'),
$this->db->where('menuler.is_active', '1'),
$this->db->where('user_id', $kullanici_yetki_id),
$this->db->where('durum', "1"),
$this->db->limit('1')
);
$sorgu=$this->db->query->$result();
if($sorgu->num_rows()>0){
foreach ($sorgu as $row) {
echo $row->menu_adi;
} } else{
echo "nope";
}
?>
当我运行它时,它会返回此错误:
消息:未定义的属性:CI_DB_mysqli_driver::$query
文件名:管理员/_leftmenu.php 行号:34
回溯:
文件: C:\wamp64\www\bireberberci\application\views\admin_leftmenu.php 行: 34 功能: _error_handler
文件: C:\wamp64\www\bireberberci\application\controllers\admin\Home.php 行: 16 功能:视图
文件: C:\wamp64\www\bireberberci\index.php 行: 315 函数: require_once
而这个:
遇到 PHP 错误严重性:错误
消息:方法名称必须是字符串
文件名:管理员/_leftmenu.php
行号:34
你缺少get((,你的会话部分user_sess['id']是错误的
https://www.codeigniter.com/user_guide/general/models.html#loading-a-model
<?php
class Example_model extends CI_Model {
public function example() {
$data = array();
$this->db->select('*');
$this->db->from('menuler');
$this->db->join('menu_yetki', 'menuler.menu_id=menu_yetki.menu_id');
$this->db->where('menuler.is_active', '1');
$this->db->where('user_id', $this->session->userdata('id'));
$this->db->where('durum', "1");
$this->db->limit('1');
$sorgu = $this->db->get();
if($sorgu->num_rows() > 0) {
foreach ($sorgu->result() as $row) {
$data[] = $row->menu_adi;
}
}
return $data;
}
}
你很接近,但你的语法有点偏离。有关详细信息,请参阅有关查询生成器的手册。
您最大的错误是将所有数据库调用放入一个数组中。这更接近您想要的。
$kullanici_yetki_id = $this->session->userdata['id'];
$this->db->from('menuler');
$this->db->join('menu_yetki', 'menuler.menu_id=menu_yetki.menu_id');
$this->db->where('menuler.is_active', '1');
$this->db->where('user_id', $kullanici_yetki_id);
$this->db->where('durum', "1");
$this->db->limit('1');
$sorgu = $this->db->get();
if ($sorgu->num_rows() > 0) {
foreach ($sorgu->result() as $row) {
echo $row->menu_adi;
}
} else {
echo "nope";
}