Результат массива PHP PDO пуст, но var_dump возвращает полный результат - PullRequest
0 голосов
/ 29 октября 2018

У меня есть следующая функция PHP:

public function getCad($conn,$gov)
{   
    try
    {
        //if($gov=='All')
        //{

        //}
        //else
        //{
            $sql = "SELECT * FROM governorate 
            WHERE governorate_name=:gov 
            ORDER BY governorate_name ASC";
            $exec = $conn->prepare($sql);
            $exec->bindValue(':gov', $gov);
            $exec->execute();

            $result = $exec->fetch();
            return $result;
        //}
    }
    catch(PDOExcpetion $e)
    {
        return $e->getMessage();
    }
}

Результат не возвращает никаких данных.

Когда я использую var_dump($result);, массив данных отображается:

public function getCad($conn,$gov)
{   
    try
    {
        //if($gov=='All')
        //{

        //}
        //else
        //{
            $sql = "SELECT * FROM governorate 
            WHERE governorate_name=:gov 
            ORDER BY governorate_name ASC";
            $exec = $conn->prepare($sql);
            $exec->bindValue(':gov', $gov);
            $exec->execute();

            $result = $exec->fetch();var_dump($result);
            return $result;
        //}
    }
    catch(PDOExcpetion $e)
    {
        return $e->getMessage();
    }
}

В первом сценарии ошибки не отображаются, а если I var_dump($gov), значение существует.

Функция вызова:

<?php

require_once('../api.php');

$newApi = new api();
$conn = $newApi->connection();
$gov = 'Beirut';
$errorMsg = "Gov is not specified";
if(isset($gov))
{

    $res = $newApi->getCad($conn, $gov);
    return json_encode($res);
}
else
{
    return json_encode($errorMsg);
}

?>

1 Ответ

0 голосов
/ 29 октября 2018

В вашем скрипте вызова попробуйте

echo json_encode($res);

вместо

return json_encode($res);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...