php - Mysql 选择位置和排序方式

标签 php mysql database syntax

我有一个积分系统,就像人们可以升级到[PRO1]用户一样。每个人的权限(pro1,pro2,user)都存储在我的mysql用户表中。但我想做一点提要,显示升级到 [PRO1] 的最新版本。升级代码:

 $insert = "UPDATE `users` SET `points` = (`points`-50) WHERE `username` = '".$username."' and points > 50";
mysql_query($insert);
if (mysql_affected_rows() > 0)
{

    // other codes

  $insert =  "UPDATE users SET rights=' [PRO1]' WHERE `username` = '".$username."'";
    mysql_query($insert); 
header('location: succesupgrade.php');
}else{
    echo "You don't have enough points";
}


?>

升级代码工作正常(以防万一我需要添加时间/日期。并且我希望“'用户名'最后升级到[PRO1]”的代码在此代码中:

    <?php
require("dbc.php");  
$query = mysql_query("select * from users WHERE rights='[PRO1]' order by right DESC limit 1") or die(mysql_error());

while($array = mysql_fetch_array($query)) {
    echo "{$array['username']}<br>";
}
?>was the last to upgrade to:
<?php
require("dbc.php");  
$query = mysql_query("select * from users WHERE rights='[PRO1]' order by rights DESC limit 1") or die(mysql_error());

while($array = mysql_fetch_array($query)) {
    echo "{$array['rights']}<br>";
}
?>

但是该代码给了我这个错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“DESC limit 1”附近使用的正确语法

最佳答案

第二个代码块的第一个查询中的order by right必须是order by right

关于php - Mysql 选择位置和排序方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867813/

相关文章:

php - mkdir() 跳过 foreach 函数中的第一个文件

mysql - 将 mysql View 转储为包含数据的表 - 版本 2

sql-server - 计算 SQL Server 数据库中字符串的哈希值——值得付出努力吗?

sql - 我应该在多对多 "link"表中使用索引列吗?

PHP 将第二个参数传递给函数

php - 比较单词,还需要找复数和ing?

php - 如何在 ubuntu 16.04 上安装 php 5.5.9

PHP - 带 SQL 查询的嵌套 while 循环

MySQL比较和 '%'

集中数据访问或变量