login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql_query(UPDATE) controleren of er iets wordt geupdate (Opgelost)

Offline chunobi - 23/05/2008 17:03 (laatste wijziging 23/05/2008 17:03)
Avatar van chunobiNieuw lid
Hoi iedereen, ik ben nog een beginnerling met PHP/MySQL en vroeg me het volgende af (hier alvast de code):

  1. <?php
  2. $mail=$_GET['mail'];
  3. $code=$_GET['code'];
  4.  
  5. if($mail=='' || $code==''){
  6. <form method='GET' action='index.php'>
  7. <input type='hidden' name='page' value='verification'>
  8. Your mail: <input type='text' name='mail' value='$mail'>
  9. Code: <input type='text' name='code' value='$code'>
  10. <input type='submit' value='GO!'>
  11. </form>
  12. ";
  13. }
  14.  
  15. if($mail!='' && $code!=''){
  16. $query="UPDATE books SET verification='YES' WHERE mail='$mail' AND random='$code'";
  17. $result=mysql_query($query);
  18. if(!$result){
  19. echo "Invalid combination!";
  20. }
  21. else echo "Your request has been inserted.";
  22. }
  23.  
  24. ?>


Wat ik probeer te doen is te kijken of in de database een record zit waar mail=$mail en random=$code. Als dit zo is wordt er een update gedaan van het record onder verification.

De huidige code return'd altijd "Your request has been inserted." ook al weet ik 100% zeker dat er geen record in de database is met de $mail en $code die ik opgeef.

De vraag: Hoe zorg ik ervoor dat de code eerst checkt of er ook daadwerkelijk iets geupdate gaat worden? Moet dit per se met een aparte query waar ik kijk of de record aanwezig is of is er toch iets korters voor mogelijk?

Ik hoop dat de vraag duidelijk is, met dank bij voorbaat.

4 antwoorden

Gesponsorde links
Offline Koen - 23/05/2008 17:08
Avatar van Koen PHP expert PHP.net: mysql_affected_rows
Offline ArComAr - 23/05/2008 17:08 (laatste wijziging 23/05/2008 17:09)
Avatar van ArComAr VB.NET gevorderde $result zal altijd geldig zijn wanneer de query die uitgevoerd wordt met mysql_query geldig is. Je kan beter kijken op het aantal rijen dat is "affected"

  1. if (mysql_affected_row() > 0){
  2. //rij(en) geupdated
  3. } else{
  4. //rij(en) niet geupdated
  5. }

edit by titjes 
Offline Stijn - 23/05/2008 17:13
Avatar van Stijn PHP expert Gebruik een extra query die kijkt of de record er is.

  1. if( ! empty($_POST['mail']) && ! empty($_POST['code']) ) {
  2. if( mysql_result( mysql_query("SELECT COUNT(id) FROM books WHERE mail='".$_POST['mail']."' AND random='".$_POST['code']."'") , 0 ) == 1 ) {
  3. //voor de update code uit.
  4. } else {
  5. echo "Your request has been inserted.";
  6. }
Offline chunobi - 23/05/2008 17:32
Avatar van chunobi Nieuw lid Bedankt voor de snelle reacties en voor de extra tips!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.43s