2016-11-24 2 views
-1

Dies ist wahrscheinlich ein sehr einfaches Problem für Sie Genies. Ich versuche, einen PHP-Code zu verwenden, um meine Datenbank zu überprüfen, um zu sehen, ob ein Benutzer genug Punkte hat. Wenn sie genug Punkte haben, ziehen Sie die Punkte von dort ab. Diese ist, was ich zur Zeit, dass die Verwendung nicht funktioniert:Überprüfen und abziehen von Punkten mit PHP/MySQL

<?php 
    $con = mysqli_connect("localhost", "id177667_root", "***", "id177667_loginb"); 
    $response = array(); 
    $statement = mysqli_prepare($con, "SELECT * FROM user WHERE username = ?"); 
    mysqli_stmt_bind_param($statement, "s", $_POST["username"]); 
    mysqli_stmt_execute($statement); 

    mysqli_stmt_store_result($statement); 
    mysqli_stmt_bind_result($statement, $userID, $name, $username, $password, $points); 
    $pointsint = (int)$points; 

    if ($pointsint > 12500){ 
     $statement = mysqli_prepare($con, "UPDATE user SET points = points - ? WHERE username = ?"); 
     mysqli_stmt_bind_param($statement, "is", 12500, $_POST["username"]); 
     mysqli_stmt_execute($statement); 

     mysqli_stmt_store_result($statement); 
     mysqli_stmt_bind_result($statement, $userID, $name, $username, $password, $points); 

     while(mysqli_stmt_fetch($statement)){ 
      $response["success"] = true; 
      $response["name"] = $name; 
      $response["username"] = $username; 
     } 
    }else{ 
     $response["success"] = false; 
    } 

    echo json_encode($response); 
?> 
+1

Nicht jetzt genug Zeit, sich für Ihre Problem, aber als Hinweis: Wählen Sie nicht alle Daten von Benutzern aus. Es besteht keine Notwendigkeit, * Von ... auszuwählen. Warum nicht einfach "Punkte von Benutzer auswählen"? Rella keine Notwendigkeit, das Passwort und all das Zeug zu laden. – Twinfriends

Antwort

0

Sie wahrscheinlich tun könnte, dass in SQL ohne die erste SELECT Kommando:

UPDATE `user` SET `points` = (
    CASE 
     WHEN `points` > 12500 THEN `points` = `points` - ? 
     ELSE `points`=`points` 
    END 
) WHERE username = ? 
Verwandte Themen