选择查询以PHP在SQL Server上返回false

时间:2018-07-26 07:42:17

标签: php sql-server select

我正在Windows Server上使用SQL(MSSQL)Server数据库。我的数据库连接工作正常。 我正在尝试使用选择查询获取数据。 这是我的代码,

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);

  }

?>

我的问题是,从此函数返回的结果是错误的。 有人可以解决这个问题吗??

1 个答案:

答案 0 :(得分:0)

$ sqlString =“ SELECT CompId,BUCode,角色来自    PRIME_APPUSR WHERE用户名=吗? AND PassWord =?“;

我认为您需要在BUCode和Role之间使用','