php - 有谁知道我调用它时 php 是如何读取查询的?
问题描述
当日期之一来自 sql 时,我很难尝试使用 symfony 框架比较 php 中的日期,我尝试比较两个日期,但我从 postgresql 调用的日期不会被读取为常规日期,我无法调试它,因为由于某种原因,当代码上有 var_dump()、echo() 或 print_r() 时,它会冻结
我尝试将其用作数组、字符串等,但我无法以能够与当前日期进行比较的方式获取响应。
/**
* @return boolean
*/
public function isClientExpired(Clients $client)
{
$em = $this->getEntityManager();
$name = $client->getName();
$query = $em->getConnection()->prepare("
SELECT MAX(av.expiring_date)
FROM ms_evaluations ev, ms_users_roles usr, ms_users us,
ms_clients cl
WHERE us.name = '$name'
AND us.id = cl.user_client
AND ev.urid_avaliado = usr.id
AND usr.user_id = us.id
");
$query->execute();
$date = $query->fetchAll();
$today = date('Y/m/d');
if ($date<$today) {
return true;
} else {
return false;
}
}
如果客户端评估已过期,则该函数应返回 true,否则返回 false,但它始终返回 false。我无法调试代码的事实使它变得更加困难,因为我无法看到该查询或日期是如何向我发送的,因此我无法弄清楚如何处理我的代码的响应工作。至少有人知道那个日期对我的影响吗?当我直接在 postgree 上执行它时,它会返回给我类似的东西:
|´´´´最大´´´´|
|2019/23/08|
这是单行单列响应,至少在 postgre 上
先谢谢各位
解决方案
正如文档所说,结果fetchAll()
是一个数组:
https://www.php.net/manual/pdostatement.fetchall.php
您应该得到fetchAll()
或使用的第一个结果fetchColumn()
。
推荐阅读
- angular - 使用 Angular 中的 Observable 完成我的休息调用后如何执行一些代码
- windows - 更新通知中心 Azure WNS 时出错
- javascript - 将一个组件中的特定状态传递给另一个组件
- c++ - 在命名空间中使用自己的类比较 std::vector 无法编译
- r - 从 R 中的 stringdist 算法中删除 for 循环
- ios - 没有自我的自动释放池访问方法中的 Swift 闭包
- regex - 单击赛普拉斯中的完全匹配文本
- reactjs - 多个输入上的单个模糊事件
- python - 将字典转换为 Python 数据框
- xamarin - 如何为 RelativeLayout ConstraintExpression 编写 OnPlatform 代码