【问题标题】:MySQL 5.1 Order by query not workingMySQL 5.1 按查询排序不起作用
【发布时间】:2011-02-09 16:53:47
【问题描述】:

我正在尝试通过查询运行此订单,但我似乎无法弄清楚问题所在。据我所知,这应该可行。我没有收到任何错误,但表格的顺序没有改变。

该表有 6 列,它们都是 char 类型和一个无符号的 auto_incrementing ID。 查询中的 last_name 列是 char(25) 类型。

$query="SELECT * FROM employees Order BY last_name";
$result = mysql_query($query);

【问题讨论】:

  • 三个选项(1)查询失败,显示错误,(2)查询没有排序,粘贴示例数据,(3)查询根本没有执行,显示PHP代码。
  • 你能发布一个你的结果样本吗?
  • 那么问题出在哪里?向我们展示一些示例数据和查询结果。
  • 你能把你的表的结构也发布一下吗?
  • 如果更改您的代码并没有改变任何东西,这可能是因为您没有更改您认为的文件。尝试将其更改为“SELECT jdksjkaf FROM dajgkljdasg”,看看是否有错误。如果您仍然得到相同的结果,那是因为您正在编辑的文件不是正在执行的文件。

标签: php mysql sql-order-by xampp


【解决方案1】:

试试

$query = "...";
$result = mysql_query($query) or die("Mysql error: " . mysql_error());

相反。如果没有任何此类错误检查,我们将无法帮助您。该查询看起来在语法上是有效的,但是还有很多其他原因导致它无法坐在这里整天猜测。永远不要假设查询成功。始终检查错误。

【讨论】:

  • 我的代码中已经有那行,我只是觉得没有必要提出问题
【解决方案2】:

"但是表格的顺序没有改变"

您如何从 $result 中获取结果以填充表格?如果您只是使用 print_r 输出结果,它们是否符合预期的顺序?

while ($row = mysql_fetch_assoc($result)) echo $row['last_name'] . "\n";

【讨论】:

  • 我正在使用我创建的名为 display 的 php 函数进行打印,以将其放入 html 表中。我创建的函数顺序在显示之前调用。我还没有尝试使用 print_r
  • 当我使用你给我的功能时,它会将它们按正确的顺序排列。但是问题出现了,因为我想调用函数顺序然后显示...这真的帮助我找出了我的问题,谢谢..我改变了我的程序运行方式..我调用了函数顺序,它调用了 display($results)它有效....谢谢
猜你喜欢
  • 1970-01-01
  • 2011-01-22
  • 2022-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-05
  • 1970-01-01
相关资源
最近更新 更多