login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Querie fout

Offline BasDV - 27/06/2005 12:33
Avatar van BasDVMySQL interesse Hallo iedereen!

Ik ben nu al een tijdje aan het kijken wat er fout kan zijn maar ik kom er niet uit... Misschien kunnen jullie helpen.

Dit is de code:
  1. <?
  2. require("config.php");
  3. $van=$_GET['wie'];
  4. $naam = mysql_query("SELECT * FROM members WHERE memberid = $memberid");
  5. $naamm = mysql_fetch_object($naam);
  6. $naammm = $naamm->gebruikersnaam;
  7. $jesaldo = $naamm->stelen;
  8. $query = mysql_query("SELECT * FROM auto WHERE wie = $van");
  9. $result = mysql_num_rows($query);
  10. $tmembers = mysql_num_rows(mysql_query("SELECT memberid FROM members"));
  11. if(!$result){
  12. echo "<FIELDSET><LEGEND><SPAN>
  13. <img border=\"0\" src=\"http://members.lycos.nl/tijgerbas3/PHPBBLZ/auto/logo.png\"></SPAN></LEGEND><CENTER>Deze Member heeft geen auto's...<br></table></div></font></fieldset></p></td></tr></table></div>";
  14. }
  15. else{
  16. if(!isset($_POST['lolo'])){
  17. <FIELDSET><LEGEND><SPAN>
  18. <img border=\"0\" src=\"http://members.lycos.nl/tijgerbas3/PHPBBLZ/auto/logo.png\"></SPAN></LEGEND><CENTER>
  19. ";
  20. echo "<form method=\"POST\"><font face=\"Verdana\" size=\"1\">Welke auto?<br><select size=\"1\" name=\"welke\" \value=\"welke\">";
  21. while($d = mysql_fetch_object($query)){
  22. echo "<option value=\"$d->id\" name=\"welke\" value2=\"welke\">$d->naam</option>";
  23. }
  24. echo "</select><p>
  25. ";
  26. <font face=\"Verdana\" size=\"1\">Wat wil je doen?<br><select size=\"1\" name=\"wat\" value=\"wat\"><option value=\"1\" name=\"wat\" value2=\"wat\">Ruiten eraf halen! (1 steel punt)</option><option value=\"2\" name=\"wat\" value2=\"wat\">Deur kapot maken (Iedereen kan deze auto dan stelen!!) (2 steel punten)</option></select><p>
  27. <input type=\"submit\" value=\"Ja, Voer de actie uit\" name=\"lolo\"></form>
  28. <br></font></fieldset>
  29. ";
  30. }
  31. else{
  32. require("config.php");
  33. $wat = $_POST['wat'];
  34. $welke = $_POST['welke'];
  35. if($wat=="1"){$autoprijs = "1";}elseif($wat=="2"){$autoprijs = "2";}else{$autoprijs = "1"; }
  36. $wie = mysql_query("SELECT * FROM members WHERE memberid = $memberid");
  37. $get = mysql_fetch_object($wie);
  38. $jecredits = $jesaldo;
  39. $af_te_trekken_punten=$autoprijs;
  40. $totaal_aantal_punten=$jecredits;
  41. $over = $totaal_aantal_punten - $af_te_trekken_punten;
  42. if($totaal_aantal_punten<$af_te_trekken_punten){
  43. $te_weinig=$af_te_trekken_punten - $totaal_aantal_punten;
  44. echo "<FIELDSET><LEGEND><SPAN>
  45. <img border=\"0\" src=\"http://members.lycos.nl/tijgerbas3/PHPBBLZ/auto/logo.png\"></SPAN></LEGEND><CENTER>Sorry het kan niet, je moet nog $te_weinig steel punt(en) hebben.</font></fieldset>";
  46. }
  47. else{
  48. echo "<FIELDSET><LEGEND><SPAN>
  49. <img border=\"0\" src=\"http://members.lycos.nl/tijgerbas3/PHPBBLZ/auto/logo.png\"></SPAN></LEGEND><CENTER><hr>";
  50. echo "Bezig met betalen...<br>Je steel punten saldo is nu $jecredits<br>";
  51. // 1e querie (deze doet het goed)
  52. mysql_query("UPDATE members SET stelen = $over WHERE memberid = $memberid") or die(mysql_error());
  53. // Hier zit het probleem...
  54. mysql_query("UPDATE auto SET veilig = '$wat' AND gedaan = '$naammm' WHERE id = '$welke'") or
  55. echo "Betaling voltooid u heeft de actie uitgevoerd!<br>Je hebt $autoprijs steel punten betaald.<br>Je hebt steel punten saldo is nu $jecredits.<br>";
  56. echo "<hr><br><br>";
  57. echo "Als u voor de deur kapot maken hebt gekozen dan kunt u nu naar Auto's stelen in het menu gaan en de auto stelen.<br>Maar wel snel want misschien is een member u nu al voor!</font></fieldset>";
  58. }
  59. }
  60. ?>


Het is de bedoeling dat als je genoeg punten hebt dat er dan 2 queries worden uitgevoerd.

Nou de eerste doet hij goed hij controleerd ook goed of er genoeg punten zijn maar bij de laatste querie gaat er iets fout...

Hij doet geloof ik dan helemaal niks...
Ik heb in de code de queries aangegeven... Hopelijk weten jullie wel wat hier fout gaat.

Mvg, BasDV

2 antwoorden

Gesponsorde links
Offline Rens - 27/06/2005 12:35
Avatar van Rens Gouden medaille

Crew algemeen
gebruik toch eens een keer error handling:|

  1. <?PHP
  2. if(!$rResult = MySQL_Query(query))
  3. {
  4. echo "Error!- Kan de query niet uitvoeren!<br />";
  5. } else
  6. {
  7. // rest van je code
  8. }
  9. ?>


Dan zul je de fout op het scherm te zien krijgen, en weet je dus wat je moet doen.
Offline Voldemort - 27/06/2005 15:33 (laatste wijziging 27/06/2005 15:34)
Avatar van Voldemort PHP ver gevorderde 1) Integers buiten de quotes.

2) Bij where iets = 'iets' moet je ' tussen de waarde na de where zetten.
Bv. SELECT * FROM iets WHERE iets = iets; ==> verkeerd! Doe liever: SELECT * FROM iets WHERE iets = 'iets'; Die ' beveiligen je ook tegen sommige hacks.

3) Variablen buiten de quotes.
Bv. echo "Ik zet deze $var buiten de quotes dus fout"; moet dan worden echo "Ik zet deze ".$var." binnen de quotes dus juist";


Als je code dan niet werkt vraag je het maar opnieuw in dit topic.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.187s