Hoi PhpHelpers!

Ik ben bezig met een waardebonsysteem,
Maar nu liep ik tegen een probleem aan: ik krijg errors.
Weet iemand wat dit is en hoe ik het kan fixen?
<?php

include "config.php";


$gQuery = $db->query("SELECT Waarde FROM Codes WHERE Code='".$db->real_escape_string($_POST['codej'])."'");
while($rij1 = $gQuery->fetch_assoc()){
$gQuery2 = $db->query("SELECT balance FROM Users WHERE gnaam='Sombie'");
while($rij2 = $gQuery2->fetch_assoc()) {
$geld3 = $rij1+$rij2;
if($db->query("UPDATE Users SET balance='".$geld3."' WHERE gnaam='Sombie'")){
if(!$db->query("DELETE FROM Codes WHERE Code='".$db->real_escape_string($_POST['codej'])."'")){
echo "<Br> Het is niet gelukt om de code op te waarderen. <br> Dit kan aan het volgende liggen: <br><br> - De code is niet geldig. <br> - De database functioneert even niet. <Br><br> Probeer het later opnieuw.<br> Error: ".$db->error;
echo "<br> <a href='insertcode.html'> < Probeer het opnieuw </a>";
echo "<br> <a href='index.php'> < Ga terug naar de startpagina </a>";
}else{
echo "<br> Code ".htmlentities($_POST['codej'])."opgewaardeerd!";
echo "<br> <a href='index.php'> < Terug naar de startpagina </a>";
}
}else{
echo "<br> Het is niet gelukt om de code op te waarderen. Probeer het later opnieuw.<br> Error: ".$db->error;
}
}
}

$db->close;
?>

In config.php staan alleen de connect-details.
Ik krijg deze fout:
Parse error: syntax error, unexpected '{' on line 12

UPDATE: Ik ben er achter gekomen, waar het fout gaat. Deze regel werkt niet: $geld3 = $rij1+$rij2; Maar ik weet niet waarom? Als ik $geld3 op bijvoorbeeld 99 instel zet hij het wel op 99.
UPDATE: Het werkt ik had het verkeerd gebruikt. Ik moest het zo gebruiken: $geld3 = $rij1['Waarde']+$rij2['balance'];
Alvast Bedankt,


Sam
Slordig dus.... moet $db->close(); zijn. Het is eem method, geen property.
Nu ik dat heb gedaan, laat de site weer niks zien.
Je blijft wel lekker doorgaan met dan niet meer info geven. Hoe denk je dat we je kunnen helpen als je alleen zegt dat je een witte pagina krijgt?
Ik heb het htacces bestand aangepast naar dit:

# Do not remove this line or mod_rewrite rules and search engine friendly URLs will stop working
RewriteBase /

# DO NOT REMOVE THIS LINE AND THE LINES BELOW ERRORPAGEID:hyMeru
ErrorDocument 500 /500.html
# DO NOT REMOVE THIS LINE AND THE LINES ABOVE hyMeru:ERRORPAGEID

php_flag display_errors on
php_value error_reporting 30711

Maar ik zie nog steeds geen foutmeldingen

Toevoeging op 14/08/2014 11:46:23:

Erwin H op 12/08/2014 20:34:03

Je blijft wel lekker doorgaan met dan niet meer info geven. Hoe denk je dat we je kunnen helpen als je alleen zegt dat je een witte pagina krijgt?


Hoe moet ik dan nog informatie geven als ik alleen een witte pagina krijg?
Wat dacht je van gewoon eens zelf te gaan debuggen. Ik weet dat dat bijna vloeken in de kerk is voor de meeste mensen, maar het is een kleine moeite (en veelal noodzakelijk om erachter te komen wat er gebeurt), om even op een paar strategische plaatsen in je script een echo te zetten. Gewoon een paar keer

<?php
echo '1';
echo '2';
//etc
?>

en door gewoon te zien welk getal je nog wel te zien krijgt weet je al waar blijkbaar je script de mist in gaat. Zo kan je binnen 5 minuten al meer weten dan je nu weet na bijna 2 dagen.
<?php echo 'debug: regel '. __LINE__ . '<br>'; ?>

als je gewoon de regelnummers wilt zien.

Daarmee kun je ook eenvoudig met ctrl-f in je script de debug-messages terug vinden.
Meestal heb ik geen zin om zoveel te tikken, maar inderdaad, als het wat groter en complexer wordt wel makkelijker.
ctrl-c en dan op veel plekken ctrl-v

dat het regelnummer vermeld wordt, maakt ook dat je overal hetzelfde kunt zetten.
Ik krijg 4 debug messages. Mijn script loopt tot de 43'ste lijn.
En de laatste debug is op 42, dus is hij toch gewoon goed?

UDPATE: Het werkt, maar alleen wordt de balance van een gebruiker niet aangepast.
Mijn script telt de waarde van de waardebon op met de account_balance van de gebruiker. Daarna wordt de balance vervangen door de aangemaakte variable. Maar ik snap nu niet, waarom hij niks veranderd in de database.

Reageren