使用MariaDB查询的问题

问题描述 投票:0回答:1

我正在尝试更新 SQL 数据库中的数据,但出现语法错误。我检查了好几遍,也用各种方法修改过,但都没有效果。

//...
$query = "update acesso set usuario=$usuario, saldo=$saldo, data=$data, rank=$rank, senha=$senha, id=$telegram_id where usuario=$usuario";

try {
  mysqli_query($con, $query); 
} catch (mysqli_sql_exception $e) { 
   echo $e;
   exit; 
}

错误:

mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rank='0', id='0' where usuario=teste' at line 1 in /var/www/html/admin/update_user.php:19 Stack trace: #0 /var/www/html/admin/update_user.php(19): mysqli_query() #1 {main}

我使用的是 MariaDB 10.4.32 版本和 PHP 8.2.12

php apache mariadb
1个回答
0
投票

不涉及安全性,我相信您唯一的问题是“排名”列,它是保留关键字。

所以你的查询应该是:

$query = "UPDATE acesso SET usuario='$usuario', saldo='$saldo', data='$data', `rank`='$rank', senha='$senha', id='$telegram_id' WHERE usuario='$usuario'";
© www.soinside.com 2019 - 2024. All rights reserved.