【问题标题】:server response null when $_POST is used使用 $_POST 时服务器响应为空
【发布时间】:2019-04-24 02:02:31
【问题描述】:

php 代码:

<?php
header("Content-type:application/json");
require "db_conn.php";
$user_name = $_POST["user_name"];
$user_pass = $_POST["pwd"];
$mysql_qry = "select * from user_accounts where user_name like '$user_name' and pwd like '$user_pass';";
$result = mysqli_query($conn,$mysql_qry);

if( $num_rows = mysqli_num_rows($result) > 0 ){
while( $row = mysqli_fetch_array($result)){
array_push($response,array("user_name"=>$row['user_name'],"first_name"=>$row['first_name'] , "last_name"=>$row['last_na$}
echo json_encode(array("server_response"=>$response));

//echo json_encode(array("result"=>123));
}else{
echo "login fail";
}

?>

我的回复是: {"server_response":null}

但如果我取消注释示例输出并注释另一部分,我将得到输出: {“结果”:123}

如果我直接初始化变量而不是 $_POST 也出于某种原因,我会得到正确的输出

【问题讨论】:

  • 您是如何访问该页面的?您是否正在发送 HTTP POST 请求并提供 user_name 和 pwd 参数?
  • POST 请求然后给出这两个参数

标签: php android mysql


【解决方案1】:

看起来 $response 在您使用 array_push 之前没有被初始化,所以当您尝试回显时 $response 仍然为空。

【讨论】:

    猜你喜欢
    • 2021-08-18
    • 2018-02-19
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多