doudu9094
2018-10-29 13:38 浏览 75
已采纳

PHP PDO数组结果为空,但var_dump返回完整结果

I have the following PHP function:

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

The result is not returning any data.

When I use var_dump($result);, the data array is displayed:

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

At the first script, no errors displayed, and if I var_dump($gov), the value exists.

The call function is:

<?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条回答 默认 最新

  • 已采纳
    doutouman6245 doutouman6245 2018-10-29 14:44

    In your calling script try

    echo json_encode($res);

    instead of

    return json_encode($res);

    点赞 评论 复制链接分享

相关推荐