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

Php 如何从一行中减去数据号,php,mysql,Php,Mysql,我喜欢从用户积分中减去100分,我用这段代码自己尝试过,但它将所有的积分替换为-100我如何从这一行减去100分:这一行它唯一的数字: 我的代码: $sql=mysql\u查询(“更新`users`SET user\u points='$user\u points-100',其中user\u id=“.$\u SESSION['user'])去掉单引号和$符号,如下所示: $sql = mysql_query("UPDATE `users` SET user_points = user_poi

我喜欢从用户积分中减去100分,我用这段代码自己尝试过,但它将所有的积分替换为-100我如何从这一行减去100分:这一行它唯一的数字: 我的代码:


$sql=mysql\u查询(“更新`users`SET user\u points='$user\u points-100',其中user\u id=“.$\u 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']);

尽量避免使用PDO进行SQL注入。此外,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();
}

另外,也请检查此项。

更新用户设置用户\u点=用户\u点-100,其中用户\u id=
…向您提供帮助,我尝试按照您所说的进行更改,但它会继续将所有用户\u点替换为-100