订购mysql结果vs喜欢

时间:2013-01-27 16:05:59

标签: php mysql

$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';";

但不起作用......

有什么建议吗?

3 个答案:

答案 0 :(得分:3)

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

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

如果您要搜索特定日期,请使用=而非LIKE,因为它用于模式匹配

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

答案 1 :(得分:1)

第二个查询中的单引号放错了地方。失败可能与此有关。

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

答案 2 :(得分: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;";