如何从一行中减去数据编号

How to subtract data numbers from a row

我喜欢从用户点数中减去 100 点我已经尝试使用此代码,但它将那里的所有点数替换为 -100 我如何从这一行中减去 100 点数:这一行只有数字: 我的代码:

$sql = mysql_query("UPDATE `users` SET user_points = '$user_points-100' WHERE user_id=".$_SESSION['user']);

去掉单引号和 $ 符号,像这样:

$sql = mysql_query("UPDATE `users` SET user_points = user_points-100 WHERE user_id=".$_SESSION['user']);

在查询之外执行,但在脚本中执行?

//Take user_points and subtract 100
$user_points = $user_points - '100';
$sql = mysql_query("UPDATE `users` SET user_points = '$user_points' 
WHERE user_id=".$_SESSION['user']);

尽量避免SQL 使用 PDO 注入。此外,您的 sql 语句中不需要 $ 符号。

define('DB_HOST', 'localhost');
define('DB_NAME', 'your_database');
define('DB_USER', 'your_username');
define('DB_PASSWORD', 'your_passworde');

try {
    //Make your connection handler to your database
    $conn = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME, DB_USER, DB_PASSWORD, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));

    $user_id = $_SESSION['user'];

    $sql = "UPDATE users SET user_points = (user_points - 100) WHERE user_id = :user_id";
    $stmt = $conn->prepare($sql);
    $stmt->execute(array(':user_id'=>$user_id));

} catch(PDOException $e) {
    echo $e->getMessage();
    die();
}

此外,还要检查此 information