login  Naam:   Wachtwoord: 
Registreer je!
 Forum

U heeft al gestemd

Offline willie - 08/11/2011 21:59
Avatar van willie0 Bij de gedichten sla ik het ip adres op in de data base.
Maar als ik de tweede keer wil stemmen krijg ik de melding ( Duplicate entry '127.0.0.1' for key 2 )
dit komt door de (mysql_error()).
Is die error melding aan tepassen met een eigen tekst?
  1. $query="INSERT INTO ipadres (ip) VALUES ('".$_SERVER['REMOTE_ADDR']."')";
  2. mysql_query($query) or die (mysql_error());

7 antwoorden

Gesponsorde links
Offline Ontani - 08/11/2011 22:02
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Best dat je eerst checkt of er al een entry bestaat voor ip '127.0.0.1' want dat is je primary key. Ipv een error op te vangen
Offline Bv202 - 08/11/2011 22:06
Avatar van Bv202 Lid http://www.spatiegebruik.nl
Offline Sam - 09/11/2011 01:32
Avatar van Sam PHP expert En als je de error dan toch per se wilt opvangen, werk je best met mysql_errno() omdat die een error nummer geeft.

Geen idee of dit echt werkt, maar je kan het uittesten:

  1. $errno = 0; //mysql_errno() returned ook 0 als er geen error is
  2. $query = "INSERT INTO ipadres (ip) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "')";
  3. mysql_query($query)
  4. $errno = mysql_errno();
  5.  
  6. if($errno == 1062) //1062 is het nummer voor "Duplicate entry"
  7. {
  8. echo 'Dit is mijn custom error message';
  9. }
Offline vinTage - 09/11/2011 01:36 (laatste wijziging 09/11/2011 01:37)
Avatar van vinTage Nieuw lid volgens mij krijg je altijd een error te zien als je error_reporting aan staat en je zo iets probeert ?

ik gok dat je sowieso je error_reporting uit moet zetten.

Je kan ook gewoon eerst checken of die persoon al in de db staat, zo ja => je hebt al gestemd else inserten.

Offline Sam - 09/11/2011 09:15
Avatar van Sam PHP expert
vinTage schreef:
volgens mij krijg je altijd een error te zien als je error_reporting aan staat en je zo iets probeert ?
...


Error_reporting report alleen php errors en warnings. Mysql geprul zal die nooit zien.

mysql_query("Hoi VinTage "); is volgens php perfect in orde.
Bedankt door: vinTage
Offline vinTage - 09/11/2011 09:23
Avatar van vinTage Nieuw lid idd, net getest 
Dus dan maar eerst kijken of iemand al in de db staat en dan niet eens het stemformulier laten zien 
Offline Ontani - 09/11/2011 09:25
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Dus 5 antwoorden waren niet nodig geweest  
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s