2016-08-02 9 views
-4

Ich verstehe nicht, warum das nicht funktioniert:Update/echo Arbeit

$sql = "UPDATE tbl_users SET balance = balance - 250 WHERE userID = <?php echo $row['userID']; ?>"; 

ich mit PDO arbeiten

Was stimmt hier nicht? Hilfe brauchen

session_start(); 
require_once 'class.user.php'; 
$user_home = new USER(); 

if(!$user_home->is_logged_in()) { 
    $user_home->redirect('index.php'); 
} 

$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid"); 
$stmt->execute(array(":uid"=>$_SESSION['userSession'])); 
$row = $stmt->fetch(PDO::FETCH_ASSOC); 

$servername = "test.de.mysql"; 
$username = "test"; 
$password = "test"; 
$dbname = "test"; 


try { 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $sql = "UPDATE tbl_users SET balance = balance - 250 WHERE userID = <?php echo $row['userID']; ?>"; 

    // Prepare statement 
    $stmt = $conn->prepare($sql); 

    // execute the query 
    $stmt->execute(); 

    // echo a message to say the UPDATE succeeded 
    echo $stmt->rowCount() . " records UPDATED successfully"; 
    } 
catch(PDOException $e) 
    { 
    echo $sql . "<br>" . $e->getMessage(); 
    } 

$conn = null; 
+0

irgendein Fehler auftreten? –

+1

Ähm .... du bist schon in PHP hier? 'und sollte einen Fehler bekommen haben; ein PARSE-Fehler –

+0

Ich mache keinen Fehler! Sie können es hier sehen. kevinshop.de/test.1php –

Antwort

0
$sql = "UPDATE tbl_users SET balance = balance - 250 WHERE userID = " . intval($row['userID']); 

Auch würde ich Sie alle verfügbaren Display erwähnen wählen, während Sie nur userID benötigen, die unnötige mem Abfall ist.