我正在研究Slim Framework中的一个简单的高分系统(还是初学者),我在查询用户数据时遇到困难。我需要查询表中的两列(用户,级别)并按级别(desc)对其进行排序。
user
-----------------------
id | name | level |
-----------------------
1 | Tom | 10 |
纯PHP中的代码
$result = mysql_query("SELECT name, level FROM user");
$storeArray = Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$storeArray[] = $row['name'];
}
更有经验的人能为我提供一些代码示例,可以做我需要的吗?
答案 0 :(得分:1)
用户资源的php slim代码可以是:
<?php
$app = new \Slim\Slim();
$app->get('/api/users', function () {
$sql_query = "SELECT id,name, level FROM user ORDER by level DESC";
try {
$conn = new PDO('mysql:host=localhost;dbname=test', 'user', 'password');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$rst = $conn->query($sql_query);
$users= $rst->fetchAll(PDO::FETCH_OBJ);
echo '{"users": ' . json_encode($users) . '}';
}
catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
});
$app->run();
我将mysql代码更改为PDO,因为它对SQL安全性的安全性更好。
如果您访问 yourdomain.com/api/users ,您将获得用户列表。
答案 1 :(得分:0)
当你拥有大部分所需的代码时,我真的不知道怎么问这个?
使用您的代码:
$result = mysql_query("SELECT id, name, level FROM user ORDER by level DESC");
$storeArray = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$storeArray[] = array(
'id' => $row['id'],
'name' => $row['name'],
'level' => $row['level']
);
}