2016-04-12 13 views
1

私はこのコードで自分自身を試してみましたが、そこにすべてのポイントを-100に置き換えています。この行から100ポイントを引く方法を教えてください。数字だけ: 私のコード:行からデータ数を減算する方法

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

+1

'UPDATE users SET user_points = user_points-100 WHERE user_id =' ... –

答えて

1

はこのように、単一引用符や$記号を取り除く:

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

Tankあなたは今はうまく動作しています –

0

クエリの外で行うのですが、スクリプト内で行いますか?

//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']); 
+0

あなたの言うように変更しようとしていますが、それは-100だけすべてのuser_points –

0

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(); 
} 

また、informationもチェックしてください。

関連する問題