【发布时间】:2019-08-16 06:50:44
【问题描述】:
这是我的错误:
遇到 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,menuFROMuser_menu加入user_access_menu开user_menu.id=user_access_menu.menu_idWHEREuser_access_menu.role_id= 数组 ORDER BYuser_access_menu.menu_idASC文件名: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;
?>
【问题讨论】:
-
第一行告诉你问题,
$role_id是一个数组,你正试图将它用作字符串。您需要从中提取适当的值(可能是$role_id[0],但如果没有看到更多代码,则无法分辨)以在查询中使用。
标签: php where-clause where-in mysql-error-1054