私はこのクエリにマッチするmysqlの12行を持っていますが、最新の日付の行を調べ、その日付(timeStamp)だけを取得したいだけです。 "LIMIT 1"(そして "LIMIT 0、1"を試しました)を設定したにもかかわらず、すべての行を調べて、各行のtimeStampを引きます。ここで行を検査するときにLIMIT 1でMySQLが停止しないのはなぜですか?
$result = mysql_query("SELECT timeStamp FROM postings WHERE city='$city' and STR_TO_DATE('$date', '%a, %d %M %Y') > timeStamp LIMIT 1");
while($row = mysql_fetch_array($result)) {
$mysqldate = $row['timeStamp'];
$mysqldate = strtotime($mysqldate);
$mysqldate = date('Y-m-d', $mysqldate);
$date = strtotime($date);
$date = date('Y-m-d', $date);
echo "mysql date is ".$mysqldate. " and date is ".$date;
echo '<br>';
if ($mysqldate > $date) {
echo "mysql date is greater";
}
}
はそれが与えて出力です:
mysql date is 2011-11-27 and date is 2011-12-01
mysql date is 2011-11-27 and date is 2011-11-29
mysql date is 2011-11-26 and date is 2011-11-27
mysql date is 2011-11-22 and date is 2011-11-26
mysql date is 2011-11-19 and date is 2011-11-22
mysql date is 2011-11-17 and date is 2011-11-19
mysql date is 2011-11-15 and date is 2011-11-17
mysql date is 2011-11-15 and date is 2011-11-17
mysql date is 2011-11-09 and date is 2011-11-15
mysql date is 2011-10-26 and date is 2011-11-09
mysql date is 2011-10-26 and date is 2011-11-09
mysql date is 2011-10-22 and date is 2011-10-26
私は、MySQLの日付はすべての行で同じであることを期待してい..しかし、あなたが見ることができるように、それは個々の行からそれを引っ張っています。どんな考え?
ありがとうございます。
ありがとうございました!うわ.. 1時間以上それを混乱させて! – Andi
奇妙なことに、それはまだ私の日付を比較しません(私はエコーを得ることはありません)が、タイムスタンプは今は同じでなければなりません。 – Andi
damnit。私はDESCを追加するのを忘れていました。それを加えた後、同じ動作が表示されます。うん! – Andi