как исправить этот запрос - PullRequest
0 голосов
/ 31 декабря 2018

Приведенный ниже метод всегда возвращает пустой массив при возврате запроса к данным из MySQL.

  • Это работает, если я напишу запрос просто так SELECT * FROM menu

  • Эта проблема появляется на сервере AWS EC2 и тот же метод работает нормальнона моем локальном хосте

  • Этот запрос SELECT * FROM menu WHERE type = ? ORDER BY likes DESC работал нормально до обновления таблицы путем добавления столбца местоположения, теперь никто не работал
  • Я пытался воссоздать таблицу изначало

    function getMenu($type)
    {
        $stmt = $this->con->prepare("SELECT * FROM menu WHERE type = ? ORDER BY likes DESC");
        $stmt->bind_param("s", $type);
        $stmt->execute();
        $stmt->bind_result($id, $dish_name, $dish_disc, $type, $image, $location, $likes, $price);
    }
    function getMenuByLocation($type, $location){
        $common = 'common';
        $stmt = $this->con->prepare("SELECT * FROM menu WHERE type = ? AND 
           location IN (?, 'common') ORDER BY likes DESC");
        $stmt->bind_result($id, $dish_name, $dish_disc, $type, $image, 
             $location, $likes, $price);
        while ($stmt->fetch()) {
            $temp = array();
    
            $temp['dId'] = $id;
            $temp['dishName'] = $dish_name;
            $temp['dishDisc'] = $dish_disc;
            $temp['type'] = $type;
            $temp['imageUrl'] = $image;
            $temp['location'] = $location;
            $temp['likes'] = $likes;
            $temp['price'] = $price;
    
            array_push($dish, $temp);
        }
        return $dish;
    }
    

1 Ответ

0 голосов
/ 31 декабря 2018

Я думаю, что ваша проблема связана с привилегиями пользователя в таблице 'menu'.Проверьте права пользователя

SHOW GRANTS FOR 'user'@'domain';

заменив 'user' @ 'domain' на ваше имя пользователя в строке подключения.

Попробуйте

GRANT ALL ON your_db_name.menu TO 'user'@'domain';

Обратите внимание, что этот запрос должен бытьвыполняется пользователем с достаточными привилегиями.

При необходимости обратитесь к https://dev.mysql.com/doc/refman/5.5/en/privilege-system.html.

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