Hallo,
Ik krijg deze foutmelding maar wat doe ik fout?

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ip = '127.0.0.1'' at line 1


$invoeren = "INSERT INTO bezoekers (aantal) VALUES ('".$aantal."') WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
  $uitvoeren = mysql_query($invoeren)or die("Error met invoeren neem zo snel mogelijk contact met Bas op (lijn 20 bezoekers)".mysql_error());
Hoe ziet de tabel eruit?
Want naar mijn mening is (aantal) niet nodig.

Ik doe het altijd zo:

<?php
mysql_query ("INSERT INTO bezoekers VALUES ('','$ip','$date','$page')") or die(mysql_error()); //IP Log met Datum en Pagina
?>
Sander de Vos op 29/05/2010 13:40:21

Hoe ziet de tabel eruit?
Want naar mijn mening is (aantal) niet nodig.

Ik doe het altijd zo:

<?php
mysql_query ("INSERT INTO bezoekers VALUES ('','$ip','$date','$page')") or die(mysql_error()); //IP Log met Datum en Pagina
?>



ip varchar(30) latin1_swedish_ci Nee
ban varchar(30) latin1_swedish_ci Ja NULL
aantal int(6) Ja NULL
has varchar(40) latin1_swedish_ci Nee

aantal is voor het aantal bezoeken die update hij elke keer

Probeer deze eens:


<?php
$query = "INSERT INTO bezoekers (aantal) VALUES ('" . $aantal . "')";
$result = mysql_query($query) or die("Error met invoeren neem zo snel mogelijk contact met Bas op (lijn 20 bezoekers)") . mysql_error();
?>
Lees de handleiding er even op na. In een INSERT query kun je geen WHERE gebruiken. Als je een bestaand records wilt updaten gebruik je UPDATE en ander geef je het ip adres gewoon op in het VALUES() gedeelte.

@Sander: aantal is wel degelijk nodig als je alleen een waarde in dat veld wilt invoeren en de rest van de velden in dat record leeg wilt laten of de standaard waarde wilt geven. Het is een beetje nutteloos om legen strings in te voeren in velden die je toch leeg wilt laten. Laat die velden dan gewoon weg uit je INSERT query ;-)
Gefixt,
Dankjullie voor jullie respons :)


<?
$invoeren = "UPDATE bezoekers SET aantal = '".$aantal."'  WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
  $uitvoeren = mysql_query($invoeren)or die("Error met invoeren neem zo snel mogelijk contact met Bas op (lijn 20 bezoekers)".mysql_error());
?>

Reageren