Как исправить номер ошибки: 1054 Неизвестный столбец «Массив» в «предложении где» - PullRequest
1 голос
/ 26 марта 2019

это моя ошибка:

Обнаружена ошибка PHP. Серьезность: Уведомление Сообщение: Массив в строку Имя файла преобразования: templates / sidebar.php Номер строки: 24 Backtrace:

Файл: A: \ Сайты \ PHP_CI \ Гасан-Войти \ приложения \ Views \ Шаблоны \ 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»

ВЫБРАТЬ user_menu. id, menu ОТ user_menu ПРИСОЕДИНИТЬСЯ user_access_menu ON user_menu. id = user_access_menu. menu_id ГДЕ user_access_menu. role_id = Массив ЗАКАЗАТЬ user_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;
?>

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Это codeigniter, вы можете использовать функции OOB, указанные на странице компоновщика запросов codeigniter , кстати, вы должны попробовать это:

 <?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;
?>
0 голосов
/ 26 марта 2019

используйте printr для переменной $ role_id , я подозреваю, что это массив, и именно поэтому вы получаете эту ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...