php - PHP PDO 数组结果为空,但 var_dump 返回完整结果
问题描述
我有以下 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);
}
?>
解决方案
在您的调用脚本中尝试
echo json_encode($res);
代替
return json_encode($res);
推荐阅读
- google-chrome-extension - 如何在 chrome.webRequest.onBeforeRequest 触发之前从 chrome.tabs.onCreate 获取信息?
- java - 启动使用 fxml 文件的应用程序时应用程序启动方法出现异常
- android - 如何使用 getSupportFragmentManager 将包传递到片段中?
- javascript - 解释匿名函数
- python-3.x - 如何保存此代码的图像结果?
- python - pip/python3 - macOS:安装 virtualenv 时出现混合消息
- python - Spotify 中的错误。出了点问题,请重试或查看我们的帮助区
- php - Symfony 3、Xdebug 和 NetBeans 10 配置
- python - 定义一个函数来解析一个电子邮件地址
- sublimetext3 - 无法使用 Sublime text 3.1.1 将远程文件打开到本地