Hallo medescripters... ik ben een beginner in PHP en MYSQL en heb een simpel verjaardagsformuliertje gemaakt om verjaardagen aan een de vejaardagsdatabase toe te voegen. Echter hij geeft me steeds een foutmelding. Ik heb al vanalles geprobeerd. Wie helpt mij en laat dit sumpel scriptje werken. Mogelijk leer ik er er dan weer iets bij... Dank alvast. Ger Houben, Stein

Hier beneden het sxcriptgedeelte....

databasenaam = "familie-verjaardagen"
tabelnaam="Verjaardagskalender"

en hier dan het script (PHP, MYSQL en HTML):


<?php

if ($submit){

//maak erbining met de MYSQL-server
$server=mysql_connect("localhost", "xxxxxx", "xxxxxx");
mysql_select_db("familie_verjaardagen", $server);

//Zet voor gevaarlijke tekens (', ", en \) een extra \ (slash)
$name=addslashes($name);
$datum=addslashes($datum);
$woonplaats=addslashes($woonplaats);

//Maak Myqsl-querty om in te voegen (INSERT)
$sql="INSERT TO Verjaardagskalender (name,datum,woonplaats) VALUES ('$name','$datum','$woonplaats')";

// Voer sql uit
mysql_query($sql) or die("Er is een fout opgetreden; probeer het opnieuw aub.");

//Geef bevestignng weer
echo "Uw verjaardag is toegevoegd aan onze database!. Dank voor uw aanmelding.";
}
// Toon het formulier
?>

<form action="toevoegverjaardag.php" method="POST">
<input type="hidden" name="submit" value="yes">
<table width="464" border="0" align="center">
<tr>
<td width="157"><div align="left">Naam:</div></td>
<td width="291"><div align="left"><input name="name" type="text" size="40"></div></td>
</tr>
<tr>
<td><div align="left">Emailadres:</div></td>
<td><div align="left"><input name="meel" type="text" size="40"></div></td>
</tr>
<tr>
<td><div align="left">Geboortedag en - maand:</div></td>
<td><div align="left"><input name="datum" type="text" value="bijv. 28-01" size="40"></div></td>
</tr>
<tr>
<td><div align="left">Woonplaats:</div></td>
<td><div align="left"><input name="woonplaats" type="text" size="40"></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><div align="left"><input type="submit" value="Voeg verjaardag toe"></div></td>
</tr>
</table>
</form>

Inspirerende titel...

Wat voor error geeft hij?
mysql_query($sql) or die("Er is een fout opgetreden; probeer het opnieuw aub.");


wizjig dit eens naar =>

mysql_query($sql) or die(mysql_error());


Dit zal je een betere uitleg geven over de fout
$sql="INSERT TO Verjaardagskalender (name,datum,woonplaats) VALUES ('$name','$datum','$woonplaats')";

Moet het niet zijn

$sql="INSERT INTO Verjaardagskalender (name,datum,woonplaats) VALUES ('$name','$datum','$woonplaats')";
daar heb ik over gelezen :)
Dat zal de fout zijn.
Beste Herian, Tommy en Johan, dank voor jullie oplossingen. Ga jullie oplossingen vanavond uitproberen. Ik laat nog wel even weten of jullie oplossingen het gewenste effect gehad hebben. Groet.
Nog netter zou zijn:
<?php
$sql="INSERT INTO
'Verjaardagskalender'
(name,datum,woonplaats)
VALUES
('$name','$datum','$woonplaats')";
?>
dat is niet netter, its just making it worse...

vars BUITEN QUOTES

<?
$sql = 'INSERT INTO
Verjaardagskalender
(name,datum,woonplaats)
VALUES
("'.$name.'","'.$datum.'","'.$woonplaats.'")';
?>
en je fouten beter afhandelen ipv SQL error.
Beste heren, mijn verjaardagsscriptje werkt. Met jullie hulp is het gelukt. Daarnaast heb ik ontdekt dat de veldnamen in de database met een hoofdletter stonden. Dus moet er ook in de PHP-sripting de juiste hoofd- en kleine letters gebruikt worden. Dank voor jullie snelle hulp. Groet.
@ger , nee andersom, een database moet gewoon alles klein hebben, dan heb je geen last van dit soort voudten

Reageren