Eğer bunu göze eğer PHP nasıl kontrol edebilirim?

4 Cevap php

Ben bu var:

    $scCost = $row["gpsc"];
    mysql_query("
        UPDATE member_profile 
        SET points = points-$scCost 
        WHERE user_id = '".mysql_real_escape_string($userid)."'
    ") or die(mysql_error());

Bunu kullanıcının puan alır - scCost.

Kullanıcı bunu göze ya da değil eğer nasıl kontrol edebilirim? Kullanıcı 30 vardır ve eğer öyleyse, $ scCost 40 olduğunu ..

4 Cevap

Sen points eşit veya cost daha olup olmadığını kontrol etmek gerekir.

add a second where clause "AND points >= $scCost" and check to see how many rows were modified. One row = they could afford it. Zero rows, they could not.

$scCost = $row["gpsc"];
    mysql_query("
        UPDATE member_profile 
        SET points = points-$scCost 
        WHERE user_id = '".mysql_real_escape_string($userid)."' 
            AND points >= $scCost
    ") or die(mysql_error());

Jacob

Bir SQL sorgusu yaparak, kullanıcıların orijinal noktalar miktarını kontrol edebilir

$id = mysql_real_escape_string($userid);
$sql = "SELECT points FROM member_profile WHERE userid = $id";
$results = mysql_query($sql);
$row = mysql_fetch_array($results);
if($row['points'] > $scCost) {
// Update Row 
} else {
// Throw error 
}