query fout : mysql NOW()

  • Onderwerp starter Onderwerp starter Kproz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Kproz

Gebruiker
Lid geworden
11 jul 2007
Berichten
138
wat ik probeer te doen: wanneer een bezoeker de afgelopen 24 uur al gestemd heeft, moet deze query TRUE zijn, en mag er geen vote bijgetelt worden, maar nu telt ie gewoon altijd een vote bij...

ik snap echt niet wat er mis is met mijn logica? dit zou toch moetten werken :( het heeft te maken met mijn query:

$query = "SELECT * FROM ip_vote WHERE ip='".$ip."' AND date BETWEEN NOW() AND (NOW() - INTERVAL 1 DAY)";

die is hoogstwaarschijnlijk fout, want als ik gewoon datums invul werkt ie weil perfect

**edit**


PHP:
<?php
include('connect.php');
$ip = $_SERVER['REMOTE_ADDR'];
       
$query = "SELECT * FROM ip_vote WHERE ip='".$ip."' AND date BETWEEN NOW() AND (NOW() - INTERVAL 1 DAY)";
       
$result =mysql_query($query) or die(mysql_error());
       
  if (mysql_num_rows($result) >= 1)
  {
     include('header.php');
     echo '<div class="index_title"><h1>Oops! an error occured...</h1></div>';
     googletitleads();
     echo '<p style="font-size=1.6em; margin-left:15px;">you already voted the last 24 hours.</p>';
     unset($_SESSION['side_id'],$_SESSION['type']);
     include('footer.php');
   }
?>
 
hoe wordt datum opgeslagen dan? Als dat niet als een datumveld wordt opgeslagen werkt het natuurlijk niet.
 
ik heb de oplossing gekregen op een engelstalig forum:

Between does'nt work with (ENDDATE-STARTDATE). You have to switch their places:
PHP Code:

$query = "SELECT * FROM ip_vote WHERE ip='".$ip."' AND date BETWEEN (NOW() - INTERVAL 1 DAY) AND NOW()";
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan