[edit arend: topic hernoemd naar iets wat van toepassing is]
weten jullie wat er fout gaat:
<?

if ($_SERVER['REQUEST_METHOD'] == "POST" && !empty($_POST['naam']) && !empty($_POST['email']) && !empty($_POST['bericht']) && strstr($_POST['email'], '@'))
{
$datum = date('Y-m-d H:i:s');

$sql = "INSERT INTO phphulp_gastenboek SET ";
$sql .= ", naam = '" . $_POST['naam'] . "'";
$sql .= ", email = '" . $_POST['email'] . "'";
$sql .= ", bericht = '" . $_POST['bericht'] . "'";
$sql .= ", datum = '" . $datum . "'";



$res = mysql_query($sql);
?>

hij voegt hem namelijk niet toe:

een voorbeeld van een echo op de $res:

INSERT INTO phphulp_gastenboek SET , naam = 'test', email = '[email protected]', bericht = 'test', datum = '2006-11-08 00:04:12'
Die komma na SET moet weg. Slechte topictitel, trouwens.
ik draait php5 met mysql 5.0
de syntax is:

INSERT INTO tabelnaam (kolomnaam1, kolomnaam2, ...) VALUES (waarde1, waarde2)

Je haalt UPDATE en INSERT door elkaar.

Daarnaast is het verstandig als je nog wat met je input doet.

http://php.net/mysql_real_escape_string

bijvoorbeeld.

edit:
en een datum is handiger als curdate() te gebruiken, dan moet je datatype bij kolomnaam wel date zijn.
Je haalt UPDATE en INSERT door elkaar.

In MySQL werkt dat evengoed wel. Het is echter geen onderdeel van de SQL standaard, dus wat dat betreft: goeie tip!
Ik had nog nooit zo'n belachelijke query gezien. Hmmm gek is die mysql toch.

Ja, achja... Als je toch wat dieper in sql gaat, wat lastigere query's gaat bouwen, is het verstandiger, al dan niet noodzakelijk, om de documentatie van de desbetreffende database erbij te houden voor de verschillende dialecten.

Maarja in dit geval zal deze sql standaard het in elke database doen.
Kom we gaan deze topictitel met z'n alleen even optillen (hij is te zwaar om alleen op te tillen), misschien komt daaronder een andere topictitel te voorschijn waar anderen wel wat aan hebben.
Idd want jij bent er niet sterk genoeg voor.

Misschien komt er wel meer dan één topic te voorschijn. Je weet het maar nooit.
Foutafhandeling vergeten. Dus zie je de errors niet.

Reageren