ответ сервера равен нулю при использовании $_POST

#php #android #mysql

#php #Android #mysql

Вопрос:

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, если бы я инициализировал переменные напрямую, я бы получил правильный вывод

Комментарии:

1. Как вы получаете доступ к странице? Отправляете ли вы запрос HTTP POST и предоставляете ли параметры user_name и pwd?

2. Запрос POST затем предоставляет оба этих параметра

Ответ №1:

Похоже, что $response не инициализируется перед использованием array_push, поэтому $response по-прежнему равен нулю при попытке выполнить echo.