php file else条件输出错误

时间:2017-11-10 06:40:07

标签: php mysql

的login.php

<?php
include 'Connection.php';

if(isset($_REQUEST["insert"])) 
{ 
$user = $_GET['user'];
$pwd = $_GET['pass'];

//$sql =sqlsrv_query($conn,"select RegNo,UserName,password from Std_Reg where Username= '$user' and Password = '$pwd'");

$sql = "select RegNo,UserName,password from Std_Reg where Username= '$user' and Password = '$pwd'";

$stmt = sqlsrv_query($conn, $sql);

$result = array(); 

 if (!empty($stmt)) {
        // check for empty result
        if (count($stmt) > 0) {

            $stmt = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);

            $product = array();
            $product["RegNo"] = $stmt["RegNo"];
            $product["UserName"] = $stmt["UserName"];
            $product["password"] = $stmt["password"];

            // success
            $result["success"] = 1;

            // user node
            $result["product"] = array();


            array_push($result["product"], $product);

            // echoing JSON response
            echo json_encode($result);


        } else {
            // no product found
            $result["success"] = 0;
            $result["message"] = "No product found";

            // echo no users JSON
            echo json_encode($result);

        }

        //sqlsrv_free_stmt($stmt);
        sqlsrv_close($conn); //Close the connnection first  

    }


}
?>

我已经连接到MS SQL Server到PHP File.if条件正常工作但是部分不起作用。我有错误的参数传递给它输出

{"success":1,"product":[{"RegNo":null,"UserName":null,"password":null}]}. 

但是其他部分输出是

{
    "success": 0,
    "message": "No product found"
}

1 个答案:

答案 0 :(得分:0)

$stmt

FALSE$stmt(当出现连接问题,查询中出现语法错误或引用不存在的对象时)或PHP资源。

由于count($stmt)既不是数组也不是实现Countable接口的对象,1始终返回$stmt = sqlsrv_query($conn, $sql); if ($stmt) { if (sqlsrv_has_rows($stmt) > 0) { $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC); $product = array( 'RegNo' => $row['RegNo'], 'UserName' => $row['UserName'], 'password' => $row['password'], ); $result = array( 'success' => 1, 'product' => array($product), ); } else { // no product found $result = array( 'success' => 0, 'message' => 'No product found', ); } echo json_encode($result); } sqlsrv_free_stmt($stmt); sqlsrv_close($conn);

使用sqlsrv_num_rows()获取查询返回的行数或(如果您不关心数字)使用sqlsrv_has_rows()

{
  id: 1,
  list: {name: "foo"},{name: "bar"}
}