这是我的错误:
遇到PHP错误严重性:注意消息:数组到字符串 转换文件名:templates / sidebar.php行号:24回溯:
文件: A:\ Sites \ PHP_CI \ hasan-login \ application \ views \ templates \ sidebar.php 行:24函数:_error_handler
文件:A:\ Sites \ PHP_CI \ hasan-login \ application \ controllers \ Admin.php 行:14功能:查看
文件:A:\ Sites \ PHP_CI \ hasan-login \ index.php行:315功能: require_once发生数据库错误
错误号:1054'where子句'中的未知列'Array'
从
user_menu
联接中选择id
。menu
,user_menu
user_access_menu
上user_menu
。id
=user_access_menu
。menu_id
user_access_menu
。role_id
=数组ORDER BYuser_access_menu
。menu_id
ASC文件名:A:/Sites/PHP_CI/hasan-login/system/database/DB_driver.php 行号:691
我使用php codeigniter。但是当我删除程序运行平稳的部分时。也许在哪里的错误。如何解决此错误?
这是我的代码:
<?php
//error_reporting(0);
$role_id = $this->session->userdata('role_id');
$queryMenu = "SELECT `user_menu`.`id`, `menu`
FROM `user_menu` JOIN `user_access_menu`
ON `user_menu`.`id` = `user_access_menu`.`menu_id`
WHERE `user_access_menu`.`role_id` = $role_id
ORDER BY `user_access_menu`.`menu_id` ASC
";
$menu = $this->db->query($queryMenu)->result_array();
var_dump($menu);
die;
?>
答案 0 :(得分:0)
在 $ role_id 变量上使用 printr ,我怀疑它是一个数组,这就是为什么出现此错误的原因。
答案 1 :(得分:0)
这是代码初始化工具,可以尝试使用codeigniter query builder page中提供的OOB函数:
<?php
$role_id = $this->session->userdata('role_id');
$queryMenu = "SELECT `user_menu`.`id`, `menu`
FROM `user_menu` JOIN `user_access_menu`
ON `user_menu`.`id` = `user_access_menu`.`menu_id`
WHERE `user_access_menu`.`role_id` = ?
ORDER BY `user_access_menu`.`menu_id` ASC
";
$menu = $this->db->query($queryMenu,array($role_id))->result_array();
var_dump($menu);
die;
?>