簡體   English   中英

MySQLi在where子句中使用date(now())加入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM