-2
$query = "SELECT * FROM  `tele`.`pedidos` 
          WHERE  `data` LIKE '".date('d/m/Y')."';";

我怎样才能按任何列排序?我尝试:

$query = "SELECT * FROM  `tele`.`pedidos` 
          WHERE  `data` LIKE '".date('d/m/Y')." 
          ORDER BY numero DESC';";

但不起作用...

有什么建议吗?

4

3 回答 3

3

我敢打赌你得到语法错误异常吧?这是因为您在日期值之后缺少单引号。试试这个以获得更清晰的视图,

$dateHere = date('d/m/Y');
$query = "SELECT * FROM  `tele`.`pedidos` WHERE  `data` LIKE '$dateHere' ORDER BY numero DESC';";

如果您正在搜索特定日期,请使用=notLIKE因为它用于模式匹配

$dateHere = date('d/m/Y');
$query = "SELECT * FROM  `tele`.`pedidos` WHERE  `data` = '$dateHere' ORDER BY numero DESC';";
于 2013-01-27T16:07:49.697 回答
1

第二个查询中的单引号放错了位置。无法工作可能与此有关。

$query = "SELECT * FROM  `tele`.`pedidos` WHERE  `data` LIKE '".date('d/m/Y')."' ORDER BY numero DESC";
于 2013-01-27T16:07:51.943 回答
1

查询语法基本正确,但单引号错误:

$query = "SELECT * FROM  `tele`.`pedidos` WHERE  `data` = '".date('d/m/Y')."' ORDER BY numero DESC;";

实际上,这个查询没有意义。最初,我阅读了第一个查询有效但第二个查询无效的问题(因此关注引号)。你是想说日期是今天吗?什么是数据?字符串数据类型还是日期数据类型?

如果你想找到今天的匹配并且数据是一个字符串,它更像是:

$query = "SELECT * FROM  `tele`.`pedidos`
          WHERE date( `data`) = date(now())
          ORDER BY numero DESC;";  
于 2013-01-27T16:07:58.960 回答