Выберите запрос, возвращающий false на сервере sql в PHP

Я использую базу данных SQL (MSSQL) Server на Windows Server. Мое соединение с базой данных работает отлично. Я пытаюсь получить данные с помощью Select Query. Вот мой код,

db_functions.php

 public function login($username, $password)
 {

   $sqlString = "SELECT CompId , BUCode , Role from 
   PRIME_APPUSR WHERE UserName = ? AND PassWord = ?";

   $params = array($username, $password);

    $stmt = sqlsrv_query($this->conn, $sqlString, $params);
    if ($stmt === false) {

        die(print_r(sqlsrv_errors(), true));
    }

    $rows = sqlsrv_has_rows($stmt);

    if ($rows === true) {

        while ($row = sqlsrv_fetch($stmt)) {

            $response["CompId"] = sqlsrv_get_field($stmt, 0);
            $response["BUCode"] = sqlsrv_get_field($stmt, 1);
            $response["Role"]   = sqlsrv_get_field($stmt, 2)

        }

        return $response;

    } else {
        return false;
    }

}

login.php

 <?php

  require_once 'db_functions.php';
  $db = new db_functions();

  if (isset($_POST['USERNAME']) && isset($_POST['PASSWORD'])) {

  $USERNAME = $_POST['USERNAME'];
  $PASSWORD = $_POST['PASSWORD'];

  $result1 = $db->login($USERNAME, $PASSWORD);

  if (!$result1) {

    $arr["response"] = "Error.";

  } else {

    $arr["response"] = $result1;

  }

  echo json_encode($arr);

  } else {

    $arr["response"] = "Invalid Parameters";
    echo json_encode($arr);

  }

?>

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

Какая у вас ошибка?

rigerta 26.07.2018 09:44
"SELECT CompId , BUCode Role у вас отсутствует запятая перед Role
Martin 26.07.2018 09:45

А это АБСОЛЮТНО НЕ СПОСОБ СОХРАНЕНИЯ / ВОССТАНОВЛЕНИЯ ПАРОЛЕЙ

Martin 26.07.2018 09:46

@Martin: hi Поместил неуместную запятую, фактический запрос был большим, поэтому здесь написано только 3 столбца. исправлено в коде.

java bee 26.07.2018 09:47

@RigertaDemiri: возвращено ложное значение

java bee 26.07.2018 09:47
@RigertaDemiri : false value returned откуда именно вернулся?
Martin 26.07.2018 09:48

@Martin: login.php - это то место, откуда я выполняю функцию.

java bee 26.07.2018 09:52

@Martin: Я знаю, что это не так, но это самый первый запрос, я начинаю работать с PHP. Пожалуйста, помогите мне решить эту проблему, я не смогу двигаться дальше и учиться, пока не решу эту проблему.

java bee 26.07.2018 10:01

@RigertaDemiri: код обновлен

java bee 26.07.2018 10:06

@javabee вы проверили журналы ошибок PHP? Вы выводили значения, чтобы знать, что а) значения находятся в базе данных и б) значения запроса верны?

Martin 26.07.2018 11:19

этот подход небезопасен, попробуйте использовать php.net/manual/en/ref.pdo-sqlsrv.php и, возможно, этот github.com/Microsoft/msphpsql/tree/PHP-7.0

kallosz 26.07.2018 11:25

@Martin вопрос о MSSQL

kallosz 26.07.2018 11:39

@Martin: Нашел проблему. в моей таблице 300 строк, и ни одна из них не соответствует значениям, с которыми я фактически проверяю перекрестную проверку.

java bee 28.07.2018 08:21
Стоит ли изучать 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 и хотите разрабатывать...
0
13
159
1

Ответы 1

$ sqlString = "ВЫБРАТЬ CompId, BUCode, роль из PRIME_APPUSR ГДЕ UserName =? И PassWord =? ";

Я думаю, вам нужно ',' между BUCode и Role

Привет. Помещена неуместная запятая, фактический запрос был большим, поэтому здесь написано только 3 столбца. исправлено в коде.

java bee 26.07.2018 09:46

@javabee, пожалуйста, покажите свой полный SQL, чтобы мы могли увидеть, что может вызвать его сбой

Martin 26.07.2018 09:47

@Martin: Добавлен еще один файл. мои подключения к базе данных работают, поэтому добавлен только этот файл

java bee 26.07.2018 09:52

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