有人知道我调用PHP时如何读取查询吗?

时间:2019-05-15 20:59:37

标签: php postgresql symfony

当其中一个日期来自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上,它是单行和单列的响应

先谢谢大家

1 个答案:

答案 0 :(得分:0)

正如文档所说,fetchAll的结果是一个数组:

https://www.php.net/manual/es/pdostatement.fetchall.php

您应该获得fetchAll的第一个结果或使用fetchColumn。

https://www.php.net/manual/es/pdostatement.fetchcolumn.php