Avatar billede redhack Nybegynder
11. november 2006 - 13:14 Der er 4 kommentarer og
1 løsning

Hvorfor virker det ikke?

Jeg har lige købt en Libris bog om MySQL for begyndere, men jeg har fået et lille problem desværre. :(

Jeg kan ikke få dette til at virke, selvom det er skrevet direkte af fra bogen:

Formular.php

<html>
<body>
Indtast venligst oplysningerne om det nye medlem
<form method='post' action='tilfoej.php'>
Medlemsnummer: <input type='text'
name='medlemsnummer' /><BR />
Navn: <input type='text' name='navn' /><br />
Adresse: <input type='text' name='vejnavn' />
Husnummer.: <input type='text' name='husnummer' size='3' /><br />
Postnummer.: <input type='text' name='postnummer' size='4' /><br />
<input type='submit' value='Tilføj' />
</form>
</body>
</html>

Tilfoej.php

<html>
<body>
Medlemmet <? echo $_POST[navn]; ?> er tilføjet.
<?
if( isset($_post[medlemsnummer]) &&
isset($_post[navn]) &&
isset($_post[vejnavn]) &&
isset($_post[husnummer]) &&
isset($_post[postnummer])){
mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('forening');
mysql_query(
"INSERT INTO medlemmer".
"(medlemsnummer, navn, vejnavn, husnummer, postnummer)".
"VALUES ($_POST[medlemsnummer],".
"'$_POST[navn]','$_POST[vejnavn]', ".
"'$_POST[husnummer]', $_POST[postnummer])");
}
?>
</body>
</html>

Når jeg taster en ny bruger ind siger den godt nok af fx. Anders Nielsen er oprettet, men infomationerne når aldrig ind til Mysql databasen.

Jeg har lavet en lille test:
<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
  die('Kunne ikke forbinde: ' . mysql_error());
}
echo 'Forbundet succesfuldt';
mysql_close($link);
?>

Den siger at der er forbindelse, så det er ikke problemet. Kan i se en fejl et sted?

Jeg har sikret mig at tabellerne er oprettet, og jeg kan godt sætte data ind via. "Command Line Klienten"..
Avatar billede ellebaek Nybegynder
11. november 2006 - 13:21 #1
<html>
<body>
Medlemmet <? echo $_POST[navn]; ?> er tilføjet.
<?
if( isset($_post['medlemsnummer']) &&
isset($_post['navn']) &&
isset($_post['vejnavn']) &&
isset($_post['husnummer']) &&
isset($_post['postnummer'])){
mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('forening');
$query = "INSERT INTO medlemmer(medlemsnummer, navn, vejnavn, husnummer, postnummer) VALUES(".$_POST['medlemsnummer'].", '".$_POST['navn']."','".$_POST['vejnavn']."', '".$_POST['husnummer']."', ".$_POST['postnummer'].")";
echo $query;
mysql_query($query);
}
?>
</body>
</html>

prøv lige denne kode i tilfoej.php, og så vis hvad den skriver her:
Avatar billede leif Seniormester
11. november 2006 - 13:23 #2
Det er altid en god idé på sine mysql_query at have or die på så får du en fejl besked hvis det er der som det går galt.

mysql_query($query) or die (mysql_error());
Avatar billede redhack Nybegynder
11. november 2006 - 13:32 #3
Det virker nu. :) Send lige et svar ellebaek. :)

Jeg skal gøre brug af dit råd fremover leif. :) Det er smart hvis jeg kan se hvor det går galt.
Avatar billede leif Seniormester
11. november 2006 - 13:38 #4
redhack -> Du vil i hvert til fald få af vide om der er din SQL sætning som fejler.
Avatar billede ellebaek Nybegynder
11. november 2006 - 15:55 #5
jeg smider et svar her :-)

Glad for jeg kune hjælpe..

..Ellebæk!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester