login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Database wordt niet geupdate

Offline rpgnox - 19/02/2010 15:29
Avatar van rpgnoxPHP interesse Ik ben bezig met een loterij script maar krijg het niet helemaal werkende.

Als er een lot wordt gekocht wordt de tabel USERS wel geupdate maar met de tabel LOTERIJ gebeurt niets.

Weet iemand hoe ik dit kan oplossen?

  1. <?
  2.  
  3. $loterij1 = mysql_query("SELECT * FROM `loterij`");
  4. $loteri= mysql_fetch_object($loterij1);
  5. $kans1 = $data->loten/$loterij->lotenverkoop;
  6. $kans = $kans1*100;
  7. $maglotenkopen = 1000-$data->loten;
  8. if($_POST['number'] != ""){
  9. if($_POST['number'] > 0){
  10. if($_POST['number'] <= $maglotenkopen){
  11. $kosten = $_POST['number']*1000;
  12. if($contant >= $kosten){
  13.  
  14. mysql_query("UPDATE `loterij` SET `lotenverkoop`=`lotenverkoop`+'{$_POST['number']}'");
  15. mysql_query("UPDATE `users` SET `loten`=`loten`+'{$_POST['number']}',`contant`=`contant`-'$kosten' WHERE `id`='$data->id'");
  16.  
  17.  
  18. $error = niks;
  19. }else{$error = 1;}
  20. }else{$error = 2;}
  21. }else{$error = 3;}
  22. }
  23. if($error == 1){
  24. ?>

5 antwoorden

Gesponsorde links
Offline vinTage - 19/02/2010 15:32 (laatste wijziging 19/02/2010 15:33)
Avatar van vinTage Nieuw lid beveilig je inputs..
zet "or die(mysql_error())" achter je query

en ik gok als je error_reporting gebruikt je eerst moet gaan cleanen 
Offline rpgnox - 19/02/2010 15:37 (laatste wijziging 19/02/2010 15:42)
Avatar van rpgnox PHP interesse Ik werkt met USBWebserver en de error report staat aan, maar de enige melding die ik krijg is

  1. Warning: Division by zero in C:\Webserver\ line 21


Weet het delen door 0 is beetje moeilijk ;).

Maar dat terzijde.

Hoe zou ik de inputs moeten beveiligen? Dit wordt momenteel toch al gedaan?

Maar de hoofdvraag; iemand enig idee waarom er in de tabel loterij niets wordt geupdate?

--> Aanvulling: ik merk dat er bij verschillende andere scripts ook alleen in de tabel USERS wordt geupdate en andere tabellen worden overgeslagen. Op bepaalde punten heb ik nu dit toegevoegd

  1. $select = mysql_query("SELECT * FROM `loterij`");
  2. $page = mysql_fetch_object($select);


Maar dit is geen oplossing om in al mijn scripts per tabel te gaan doen. Hopelijk dat iemand een antwoord heeft op mijn hoofdvraag.

alvast bedankt,
Offline Abbas - 19/02/2010 15:57
Avatar van Abbas Gouden medaille

Crew .NET
  1. $loteri= mysql_fetch_object($loterij1);
  2. $kans1 = $data->loten/$loterij->lotenverkoop;

$loteri != $loterij 

Ook misschien je variabelen buiten quotes zetten. Alsook als je een ID-veld hebt dat numeriek is horen die single quotes ook niet rond de waarde die je meegeeft.
Bedankt door: rpgnox
Offline rpgnox - 19/02/2010 16:03
Avatar van rpgnox PHP interesse Haha dat was idd wel een beetje dom. Maar het werkt nu. Bedankt.

Rest me alleen nog de fout van DIVISION BY ZERO

  1. $kans1 = $data->loten/$loterij->lotenverkoop;


Is dit ook op een makkelijke manier op te lossen?
Offline Abbas - 19/02/2010 22:21
Avatar van Abbas Gouden medaille

Crew .NET
  1. if(!$loterij->lotenverkoop == 0)
  2. //delen
  3. else
  4. //niet delen want het is 0
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.259s