我在SQL中的問題選擇這樣的表是這樣的:SQL限制稱道不能正常工作
id uid content date type
2 1 lorem ipusem#1 1391817600 1
3 1 lorem ipusem#2 1391899005 1
...
什麼我想要做的,是選擇前5個(在本例中2)這是INT的未來,爲了他們的日期(挑頭最接近5個按摩到現在) 所以這裏是我的SQL查詢
('SELECT `content` FROM `mvc` WHERE type = 1 and `date` > '.$date.' ORDER BY `date` ASC limit 5')
(我複製從代碼行) 由於某種原因查詢只選擇第一個,即使它們都適合查詢(當我使用說明另一種選擇)
<?php
class getAnnounc {
private $db;
private $raw;
public function getAnnounc($database){
$this-> db = $database;
$this->getRaw();
}
private function getRaw(){
$date = time();
$this->raw = $this->db->query('SELECT `content` FROM `mvc` WHERE type = 1 and `date` > '.$date.' ORDER BY `date` DESC LIMIT 5')or die(mysqli_error());
$this->raw = $this->raw->fetch_assoc();
echo var_dump($this->raw);
}
}
header('Content-Type: text/html; charset=utf-8');
$db = new mysqli('localhost','root','','ortMallot') or mysqli_error();
$db->query("SET NAMES 'utf8'");
new getAnnounc($db);
@JonasT。 。 。對於這個問題,「limit 5」是完美的語法。 –
不,這不會改變任何東西... – asafg8
我懷疑問題是在處理結果的代碼中。如果兩行通過'where'子句過濾器,則無論'order by'如何都應該被拾取。 –