[英]MySQLi join using date(now()) in where clause
我在phpmyadmin中運行此查詢,它工作正常。 但是在joshcam's MySQLi Database
類中運行它會得到錯誤的數據
查詢:
SELECT
s.az
, s.ta
, s.zamanSarfShode
, p.name
FROM
saateruzane s
JOIN
projhe p
JOIN
kareruzane k
WHERE
s.ProjheId = p.id
AND
k.id = s.ruzId
AND
k.ruzGregorian = date(now())
PHP代碼:
$con->join('projhe p', 's.ProjheId = p.id');
$con->join('kareruzane k', 'k.id = s.ruzId');
$con->joinWhere('kareruzane k','k.ruzGregorian', 'date(now())');
$tines = $con->get('saateruzane s',null,'s.az ,s.ta ,s.zamanSarfShode ,p.name');
joinWhere
的定義是
public function joinWhere($whereJoin, $whereProp, $whereValue = 'DBNULL', $operator = '=', $cond = 'AND')
因此,您不需要傳遞所有內容。 相反,請嘗試以下操作:
$con->joinWhere('kareruzane k','k.ruzGregorian = date(now())');
雖然比date(now())
好於CURDATE()
$con->joinWhere('kareruzane k','k.ruzGregorian = curdate()');
但是,我不確定您是否應該在此處使用JOIN
,因為它是原始查詢的WHERE
子句的一部分,而不是JOIN
子句的一部分。 所以做
$con->where('k.ruzGregorian = curdate()');
通過快速查看此lib文檔,我發現了這一點:
'createdAt' => $db->now(),
// createdAt = NOW()
https://github.com/joshcam/PHP-MySQLi-Database-Class#insert-query
在你的情況下嘗試使用
$con->joinWhere('kareruzane k','k.ruzGregorian', $con->now());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.