toevoegen aan database

Status
Niet open voor verdere reacties.

jonahund

Gebruiker
Lid geworden
21 jul 2006
Berichten
23
Ik heb een probleem dat ie niks toevoegt aan de database. Ik heb een invoerform gemaakt met de volgende code:

<form method="post" action="oefening 12.2.php">
Voornaam: <input type="Text" name="voornaam" size="30"><br>
Achternaam: <input type="Text" name="achternaam" size="30"><br>
Kamer: <input type="Text" name="kamer" size="5"><br>
Toestelnummer: <input type="Text" name="toestel" size="5"><br>
<hr>
<input type="submit" value="Invoegen"><input type="Reset" value="Leegmaken"><br>
</form>


En oefening 12.2 met de volgende code:

<?php
// variabelen initialiseren
$conn=mysql_connect('localhost', 'root', '') or die("<hr/>Het spijt me, connectie mislukt: <br/>" .
mysql_error() ) ;
//open de database:
mysql_select_db('database') or die("<hr/>Het spijt me, database niet gevonden: <br/>" .
mysql_error());

if (empty($_POST)){
// eerst controleren of pagina wel is aangeroepen vanuit formulier
echo("Vul eerst <a href=\"frm_werknemer.php\">gegevens
voor de werknemer</a> in");
exit();
}else{
// OK, Query opbouwen met variabelen in $_POST
// in het 'echt' eerst valideren of het formulier wel
// geldige waarden bevat.
$query="INSERT INTO werknemers (Voornaam, Achternaam, Kamer, Toestel) ";
$query .= "VALUES ('"; // let op positie van de enkele aanhalingstekens
$query .= $_POST["Voornaam"] ."', '" ;
$query .= $_POST["Achternaam"] ."', '" ;
$query .= $_POST["Kamer"] ."', '" ;
$query .= $_POST["Toestel"] ."');" ;
$result = mysql_query("SELECT *, FROM werknemers");

}
?>
<html>
<head>
<title>Een werknemer invoegen (2)</title>
</head>
<body>
<?php
echo("Query die wordt uitgevoerd: <b>$query</b><hr>\n");
echo("De volgende gegevens zijn ingevoegd:<br>\n");
echo("Voornaam: <b>". $_POST["voornaam"] . "</b><br>");
echo("Achternaam: <b>". $_POST["achternaam"] . "</b><br>");
echo("Kamernummer: <b>". $_POST["kamer"] . "</b><br>");
echo("Toestelnummer: <b>". $_POST["toestel"] . "</b><br>");
echo("<hr><a href=\"frm_werknemer.php\">Nog een werknemer invoegen</a> |
<a href=\"werknemers_overzicht.php\">Overzicht van alle werknemers</a>");
?>


Ik doe het via localhost. De database naam is database en de tabelnaam werknemers.
In die tabel staan de volgende dingen:
Voornaam
Achternaam
Kamer
Toestel


Enig idee iemand hoe het komt dat als ik iets invul in het invoerform het niet toegevoegd wordt aan de database??

BVD

Jonahund
 
Ja, je voert de query nergens uit.

Zie:
$result = mysql_query("SELECT *, FROM werknemers");
 
Je voert een nutteloze SELECT-query uit, in plaats van de query die je daarvoor opbouwt.
 
hmm dan heb ik em nog niet helemaal begrepen, misschien kun je een voorzetje geven??:rolleyes:
 
Ja:

$result = mysql_query("SELECT *, FROM werknemers");

Op die regel voer je een query uit, maar dat is niet de goede query. Je moet daar de variabele plaatsen waar je de query in hebt gezet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan