Avatar billede asse Nybegynder
10. januar 2001 - 17:42 Der er 6 kommentarer og
3 løsninger

insert via php3

Hej!!
Er der nogen der kan forklare hvorfor jeg ikke kan indsætte data i min tabel (firma).
Den form jeg bruger ser sådan ud:
<form method=\"post\" action=\"insetrow.php3\" target=\"main\">
<input type=\"text\" name=\"fnavn\"><p><h5>Firmanavn</h5>
<input type=\"text\" name=\"url\"><p><h5>URL</h5>
<input type=\"hidden\" name=\"insert\" value=\"put\">
<input type=\"submit\" class=\"button\" value=\"opret\">
<input type=\"reset\" class=\"button\" value=\"reset\">
</form>

Og PHP3 koden ser sådan ud:
<html>
<head>
<title>Opret Firma></title>
</head>
<?

if ($insert ==\"put\")
{

$conn = mysql_connect(\"localhost\", \"root\")
OR DIE (\"MySQL couldn\'t connect\");

mysql_select_db(\"test\")
OR DIE (\"MySQL couldn\'t find the database\");




$insertSQL=\"INSERT INTO firma (firma_id, fnavn, url, dato) VALUES (null, \'$fnavn\', \'$url\', now())\";
mysql_query($insertSQL);

}
else
{
print (\"<b>Kan ikke indsætte i tabellen</b>\");
}
?>
<body bgcolor=\"blue\">
</body>
</html>
Det eneste jeg får udaf dette er ovenstående besked \"Kan ikke..........\"
kan forklaringen ligge i min brug af \"null\"(den er med fordi firma_id er sat til auto_imcrement)
eller now()-kaldet til dato???
P.S Jeg kan godt trække data ud af tabellen ved hjælp af en form!
M.V.H Andreas
Avatar billede limemedia Nybegynder
10. januar 2001 - 17:45 #1
hvis firma_id er en auto_increment kan du fjerne det fra sql-strengen
Avatar billede mjl Nybegynder
10. januar 2001 - 17:47 #2
INSERT INTO * firma
Avatar billede steffen Nybegynder
10. januar 2001 - 17:48 #3
Prøv at \"echo $insertSQL\" et eller andet sted, så opdager du nok hvorfor :-)
Avatar billede sorenmh Nybegynder
10. januar 2001 - 18:00 #4
Jeg ved ikke om man kan henvise til en funktion inde i en SQL streng, det tror jeg ikke man kan.
Prøv at fjerne det.
Avatar billede sorenmh Nybegynder
10. januar 2001 - 18:01 #5
Hvis du vil have datoen til at stå for din insert kommando, så kan du lave dato om til et timestamp og så fjerne det fra din sql streng, så vil databasen automatisk indsætte en dato.
Avatar billede steffen Nybegynder
10. januar 2001 - 18:18 #6
Det er ikke til at se ud fra din kode om now og () står op af hinanden - hvis der er et mellemrum, skal det fjernes.
Avatar billede steffen Nybegynder
10. januar 2001 - 18:19 #7
Ups, en resize ændrede billedet - og det ser jo rigtigt ud *blush*
Avatar billede asse Nybegynder
10. januar 2001 - 19:06 #8
Nu virker det, jeg ved ikke hvad der gik galt, men nedenstående kode fungerer ihvertfald.

<html>
<head>
<title>Opret Firma></title>
</head>
<?

if ($insert ==\"put\")
{

$conn = mysql_connect(\"localhost\", \"root\")
OR DIE (\"MySQL couldn\'t connect\");

mysql_select_db(\"test\")
OR DIE (\"MySQL couldn\'t find the database\");



$insertSQL=\"INSERT INTO firma (firma_id, fnavn, url, dato) VALUES (null, \'$fnavn\', \'$url\', now())\"; 
mysql_query($insertSQL);
print(\"<br><br><h1><center>Firmaet er nu oprettet</center></h1>\");
}
else
{
print (\"<b>Kan ikke indsætte i tabellen</b>\");

}


?>
Ellers tak for hjælpen!
Asse
Avatar billede sorenmh Nybegynder
10. januar 2001 - 19:16 #9
du har vel glemt at sætte insert = put

men ok det er godt at det virker nu
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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