1
我使用多个查询,它工作正常,我面临的唯一问题是,顺序是不工作。我尝试了一些代码,如ORDER BY不能与MySQL多个查询
$query = "SELECT id, name, reg_number, class, section FROM register where id IS NOT NULL ORDER BY `id` DESC";
它在phpmyadmin中工作正常,并给我一个正确的结果。但它不能在我想使用它的地方工作。
$query = "SELECT id, name, reg_number, class, section FROM register where id IS NOT NULL ";
if ($name !=""){
$query .= " AND `name` LIKE '".$name."%'"; // id is greater then
}
if ($status !=""){
$query .= " AND `status` LIKE '".$status."%'"; // id is greater then
}
if ($id_from !=""){
$query .= " AND id >= $id_from "; // id is greater then
}
if ($id_to !=""){
$query .= " AND id <= $id_to "; // id is shorter then
}
if ($class !=""){
$query .= " AND class IN($class)"; // Selecting class
}
if ($section !=""){
$query .= " AND section IN($section)"; // selecting section
}
$result = mysql_query($query);
我想在此查询中使用order by,但order by不能使用this。
$query = "SELECT id, name, reg_number, class, section FROM register where id IS NOT NULL ORDER BY `id` DESC";
,并使用
$query = "SELECT id, name, reg_number, class, section FROM register where id IS NOT NULL ORDER BY id DESC";
我不知道什么是我的代码的问题。
'的var_dump($查询)''的$ result'行之前和你得到了什么?从代码看,如果你只是换出第一行,它看起来最终会成为无效的SQL。 –
您是否在ORDER BY之后附加了其他WHERE条件? ORDER BY必须在最后... – jarlh
请[停止使用'mysql_ *'函数](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in -php)。他们不再被维护,并[正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。了解[准备的陈述](http://en.wikipedia.org/wiki/Prepared_statement),并考虑使用PDO,[它不像你想象的那么难](http://jayblanchard.net/demystifying_php_pdo.html) 。 –