我在phpmyadmin中保存了一个虚拟数据库。我正在尝试根据列user_uid
对数据进行排序。
这是我的一些数据库
我用来排序表的PHP代码是
<?php
include_once 'dbh.inc.php';//file contains the variables req to connect to database
$sql = "SELECT * FROM client
ORDER BY user_uid;";
$result = mysqli_query($conn,$sql);
if(($result))
{
$row = array();
($row = mysqli_fetch_array($result));
echo($row['client_name']);
}
然而,这似乎不起作用。我的代码出错了什么?
其他信息:user_uid
是外键,对user_uid的引用来自另一个名为users的表
答案 0 :(得分:1)
你的代码中已写好了
ORDER BY cost_per_session
只需将其更改为
即可ORDER BY user_id
您可以使用ASC或DESC升序或降序。
答案 1 :(得分:0)
您的代码只显示一条记录。下面是一个工作示例,它使用所需的while
循环来显示每个获取记录的client_name
:
include_once 'dbh.inc.php';
$sql = 'SELECT * FROM client
ORDER BY user_uid';
$result = mysqli_query($conn, $sql);
if ($result->num_rows > 0) {
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $row['client_name'] . '<br>';
}
}
我删除了vars周围所有不需要的括号和sql语句末尾的分号。
祝你好运。 编辑1:我将$connection
更正为$conn
。
编辑2:我实现了对行数($result->num_rows > 0
)的检查,而不是$result
本身(它始终是{{1}类型的对象因此,检查总是返回mysqli_result
- 即使没有找到记录也是如此。