我花了2天時(shí)間試圖解決這個(gè)問(wèn)題 - 當(dāng)嘗試使用小于或等于運(yùn)算符綁定值時(shí),我在MySQL中的日期比較不起作用。<=我已將其縮小到第二個(gè)日期字段(來(lái)自一個(gè)更復(fù)雜的腳本,該腳本根據(jù)請(qǐng)求更改預(yù)準(zhǔn)備語(yǔ)句連接/組/字段/條件。.因此,為什么我指的是table.column,并且只從下面的一個(gè)表中進(jìn)行選擇 - 無(wú)論哪種方式都可以使用),但我無(wú)法理解它。用于 php 5.x 的確切代碼,但我剛剛升級(jí)到 php7.2.27。請(qǐng)看下面的 SQL 語(yǔ)句:$sth = $this->prepare("SELECT transaction.transactionid, transaction.accountid, transaction.userid, transaction.billdate, transaction.amount, transaction.description, transaction.confirmed FROM transaction WHERE DATE(`billdate`) BETWEEN :startdate AND :enddate #date('2020-03-12') ORDER BY billdate desc"); 嘗試將以下內(nèi)容綁定到它:$terms = array(':startdate' => "2000-01-01",':enddate' => "2020-03-12");foreach ($terms as $key => $value) { if($value == (int)$value) $sth->bindValue("$key", $value, PDO::PARAM_INT); else $sth->bindValue("$key", $value);}var_dump($sth);var_dump($terms);$sth->execute();$this->rowCount = $sth->rowCount(); var_dump( $sth->fetchAll(PDO::FETCH_ASSOC));這將返回一個(gè)空數(shù)組。該表包含少量測(cè)試行。以下結(jié)果將正確返回: ... DATE(`billdate`) BETWEEN :startdate AND '2020-03-12' ORDER BY billdate desc將日期包裝在內(nèi)似乎沒(méi)有區(qū)別。date('date')我也試過(guò)這個(gè)... DATE(`billdate`) >= :startdate AND DATE(`billdate`) <= '2020-03-12' ORDER BY billdate desc "); (當(dāng)然,更改綁定術(shù)語(yǔ),以便它們反映我正在使用的任何內(nèi)容)我需要能夠綁定這兩個(gè)變量。感謝任何指針,因?yàn)槲液軜?lè)意避免浪費(fèi)另一天調(diào)試這個(gè)!謝謝
PDO 語(yǔ)句選擇日期小于錯(cuò)誤的位置
翻過(guò)高山走不出你
2022-09-12 13:14:13