【问题标题】:PHP PDO array result is empty but var_dump returning the full resultPHP PDO 数组结果为空,但 var_dump 返回完整结果
【发布时间】:2018-10-29 13:38:33
【问题描述】:

我有以下 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();
    }
}

在第一个脚本中,没有显示错误,如果我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);
}

?>

【问题讨论】:

  • 你能告诉我你是如何调用函数和使用数据的吗?
  • 好的,我会编辑问题。
  • 我很确定您想在顶级脚本中使用 echo - return 在函数体之外不会做任何有用的事情。
  • 你在这里有一个错字PDOExcpetion。编辑:这是经过编辑的。我在最初的评论中犯了一个错误。但这仍然有一个错字。
  • 这个return json_encode($res);不应该是echo json_encode($res);

标签: php oop pdo


【解决方案1】:

在你的调用脚本中尝试

echo json_encode($res);

而不是

return json_encode($res);

【讨论】:

  • 嗯,令人惊讶的是,您的解决方案就是答案。
猜你喜欢
  • 2015-08-26
  • 2013-09-27
  • 1970-01-01
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
  • 2019-04-06
相关资源
最近更新 更多