这是我的错误:
遇到PHP错误严重性:通知消息:数组到字符串转换文件名:templates / sidebar.php行号:24 Backtrace:
文件: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'
SELECT
user_menu
.id
,menu
FROMuser_menu
JOINuser_access_menu
ONuser_menu
.id
=user_access_menu
.menu_id
WHEREuser_access_menu
.role_id
= Array 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;
?>
这是codeigniter,你可以使用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;
?>
在$ role_id变量上使用printr,我怀疑它是一个数组,这就是你得到这个错误的原因。