Выполнение запроса в php не выполняется

Я создал функцию, в которой мне просто нужно получить отдельные данные, по какой-то причине она не работает, и я не знаю, в чем проблема.

вот мой код

$functions->fetch_single('user_tbl', $objectID, $id, 'hidden_post');


function fetch_single($table_name = '' ,$where = '', $where2 = '', 
  $fetch = '', $debug=false){
    $query = "SELECT * FROM $table_name WHERE $where = $where2";

    if ($debug){
        exit($query);
    }

    $statement = $this->connection->prepare($query);

    if ($statement->execute()){
        $fetch_single_data =  $statement->fetchAll(PDO::FETCH_ASSOC);
        return $fetch_single_data[0]['$fetch'];  
    }
    return false;
}


  function execute_query($query){
    $statement = $this->connection->prepare($query);

    if ( $statement->execute() ){
        return $statement;
    }
    return false;
}

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

Вероятно, проблема с цитированием значений. Попробуйте повторить созданный SQL и показать нам результат.

Jonnix 18.07.2019 15:51

Ваша подготовка не удалась. Если вы собираетесь подготовить отчет, используйте bindParam или привязка значения, чтобы предотвратить проблемы с цитированием и внедрением SQL. Вы также должны проверить наличие ошибок PDO. См. stackoverflow.com/questions/32648371/… для получения дополнительной информации.

aynber 18.07.2019 15:53

Вот результат, который я получаю @Jonnix SELECT * FROM user_tbl WHERE user_isd = bcf1cdb5b285669a859fc95443869f84 Думаю, проблем нет

Christian Read 18.07.2019 16:08

Вам нужны кавычки вокруг строковых значений в SQL - "SELECT * FROM $table_name WHERE $where = '$where2'"

MER 18.07.2019 16:23

Уже решил проблему, спасибо, ребята, за помощь, @MER прав, я просто забыл добавить кавычки вокруг строковых значений в моем SQL, спасибо <3

Christian Read 18.07.2019 17:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
6
337
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Уже решил проблему, спасибо, ребята, что помогли мне Мне просто нужно добавить кавычки вокруг строковых значений в моем SQL

 $query = "SELECT * FROM $table_name WHERE $where = '$where2'";

ваш SQL/PHP Диди небезопасен. Хотя вы, возможно, решили свою проблему, вам действительно В самом деле следует изучить, как безопасно строить SQL-запросы в OO PHP.

Martin 18.07.2019 18:29

Другие вопросы по теме