我正在尝试实现此查询:
SELECT AVG(timediff(end, start)) AS avg_in FROM phone_call
WHERE user_id=2
AND direction = 'o'
AND DATE(start) = DATE('2013-11-04 17:11:37')
将 PDO 与 PHP 一起使用。你能否就如何做到这一点提供一些建议。我试过了:
$uid = 2; $direction='o'; $date='2013-11-04 17:11:37';
$q = "SELECT AVG(timediff(end, start)) AS avg_in FROM phone_call
WHERE user_id = ?
AND direction = ?
AND DATE(start) = DATE(?))";
$stmt = $this->pdo->prepare($q);
$stmt->bindParam(1, $uid, PDO::PARAM_INT, 5);
$stmt->bindParam(2, $direction, PDO::PARAM_STR, 1);
$stmt->bindParam(3, $date, PDO::PARAM_STR, 20);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
//$result = round($result,2);
return $result;
但这失败了。
编辑:
客户端代码:
$a = $call_log->getAvCallIn(2,'o','2013-11-04 17:11:37'); //
print '<pre>';print_r($a);
什么都没有打印到屏幕上!
我怀疑是
AND DATE(start) = DATE(?))
查询的一部分是错误的?