我在sql select中遇到问题所以表格是这样的:
id uid content date type
2 1 lorem ipusem#1 1391817600 1
3 1 lorem ipusem#2 1391899005 1
...
我想做的是选择未来的前5个(在这种情况下为2)并按日期排序(以选择现在最接近的五个按摩) 所以这是我的SQL查询
('SELECT `content` FROM `mvc` WHERE type = 1 and `date` > '.$date.' ORDER BY `date` ASC limit 5')
(我从代码中复制了这一行) 由于某种原因,查询只选择第一个,即使它们都适合查询(当我使用Desc时,另一个被选中)
<?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);
答案 0 :(得分:0)
仅供参考,你想要降序,而不是提升:
ORDER BY `date` DESC LIMIT 5
它没有解释为什么你只获得两者中的一个,但我怀疑你的PHP变量与WHERE条件的关系可能存在问题。