我正在尝试获取在过去 35 分钟内添加的行。字段议程doEm 的类型为datetime(YYYY-MM-DD HH:ii:ss)。当我复制完全相同的查询并粘贴到 phpmyadmin 时,它可以正常工作,但在我使用 pdo 的 php 代码中,它根据自己的意愿工作(笑)。有时它会正确返回,几秒钟后它不再返回任何结果,然后再次工作。没有返回错误, var_dump($_SESSION['userid']) 也返回了预期值。
我的php代码:
function db_exec($conn,$sql,$values=null){
$sth = $conn->prepare($sql);
if($values!=null)
foreach($values as $key => $value){
$index=++$key;
$sth->bindValue($index,$value);
}
$sth->execute();
return $sth;
}
$agendamentos=db_exec($dbread,"SELECT agendamentos.id as id, agendamentos.userid as userid,
agendamentos.paciente as paciente,agendamentos.agendadoPara as agendadoPara,usuarios.nome as nome,
usuarios.contaTipo as contaTipo, profissionais.sexo as sexo, profissionais.profissao as profissaoId,
tipoProfissionalPF.tipo as profissao,tipoProfissionalPF.urlprefix as urlprefix, tipoProfissionalPJ.tipo as estabelecimento,
tipoProfissionalPJ.urlprefix as clinprefix,empresaDados.nomeFantasia as nomeFantasia
FROM agendamentos
LEFT JOIN usuarios ON usuarios.id=agendamentos.userid
LEFT JOIN profissionais ON profissionais.userid=agendamentos.userid
LEFT JOIN empresaDados ON empresaDados.userid=agendamentos.userid
LEFT JOIN tipoProfissionalPF ON tipoProfissionalPF.id=profissionais.profissao
LEFT JOIN tipoProfissionalPJ ON tipoProfissionalPJ.id=empresaDados.tipoProfissionalPJ
WHERE agendamentos.paciente=? AND agendamentos.confirmado=0 AND TIMESTAMPDIFF(MINUTE,agendamentos.agendadoEm,NOW())<35",array($_SESSION['userid']));
if($agendamentos->rowCount()>0)
echo 'ok';
else
echo 'none';
正如我之前所说,有时它会起作用,但几分钟后它就不再起作用了。通过在 phpmyadmin 上运行此查询始终有效,即使它在我的 php 页面上不起作用。有谁知道我做错了什么?对我来说是个谜,我没有确定问题所在。
PIPIONE