PHP变量组合问题

时间:2013-09-19 01:20:03

标签: php

我试图在php中将变量连接到我的sql查询,以便根据该变量对表进行排序。 例如:

if ($_GET['sort'] == 'Val'){
   $query .= " ORDER BY val";
}

我需要一个varbvle $ sortorder来与这个查询连接起来。这样我就可以在ASC或DESC中获得排序查询。我做的是

$ order = ASC;

if ($_GET['sort'] == 'Val'){
   $query .= " ORDER BY val" ."$order";
}

并编写

的逻辑
if($order==ASC){$order= DESC}

反之亦然。但它不起作用。表格未显示。一些语法问题?

任何人都可以提供帮助。 ?

2 个答案:

答案 0 :(得分:2)

你需要引入一个空间。否则SQL将读取ORDER BY valDESC

所以:

$query .= " ORDER BY val " ."$order";

或更紧凑:

$query .= " ORDER BY val $order";

您只需打印即可检查您的查询是否符合预期

echo $query ;

这个简单的调试可以帮助您解决问题

答案 1 :(得分:0)

使用:

$query .= " ORDER BY val $order";

列名和排序顺序之间需要一个空格。您的代码正在生成:

ORDER BY valASC

如果你在尝试执行它之前只做了echo $query;,你肯定会看到这个。在发布之前请先做一些基本的,明显的调试。