10. august 2002 - 17:14
Der er
15 kommentarer og 1 løsning
Database virker ikke......
Hej alle dudes! Jeg har været i gang med PHP lidt.. Men denne er godt nok en af de mest trælse problemer jeg hidtil har prøvet. Jeg sad bare lige og legede med et par databaser så ville jeg jå skrive til/fra den. Men query'en siger PHP hele tiden er forkert.. Hmm håber nogen kan hjælpe mig. ;) Her er problem sætningen: ------------------------------------------------------- mysql_query("INSERT INTO test (Dato, Besked, Navn) VALUES ('$dato','$besked', '$navn')"); ------------------------------------------------------- På forhånd tak! :) Up The IRons & Semper Fi /Sir Erugor
Annonceindlæg fra Context&
10. august 2002 - 17:19
#1
Der er ingen fejl i din syntax. "php siger hele tiden forkert" -gider du ikke lige uddybe det?
10. august 2002 - 17:22
#2
Har du husket at connecte til en database med mysql_connect("mysql.dinserver.dk", "ditusername", "ditpassword"); mysql_select_db("dindb"); Ellers må du som gizmo-gizmo siger uddybe hvad PHP's fejlbesked er. /SpEeDy
10. august 2002 - 17:23
#3
k her er min php kode: --------------------------------------------------------------------------- <html> <head> <title>Database test</title> </head> <body> <h2 aign="center">Database test i MySQL + PHP</h2> <br><br> <center> <form action="<?php echo $PHP_SELF; ?>" method="post"> <input type="hidden" name="skriv" value="1"> Navn: <input type="text" name="navn"><br><br> <textarea name="besked" cols="20" rows="5">Din besked...</textarea><br> <input type="submit" value="Send"> </form> </center> <?php $db = mysql_connect("localhost","Admin","qak86ncs"); mysql_select_db("test", $db); if($skriv){ $besked = str_replace("\n", "<BR>", $besked) $dato_array = getdate(); $dato = $dato_array["mday"] . "/" . dato_array["mon"] . " - " . dato_array["year"]; mysql_query("INSERT INTO test (Dato, Besked, Navn) VALUES ('$dato','$besked', '$navn')"); } $foresp1 = mysql_query("SELECT * FROM test ORDER BY Id DESC LIMIT 0,10"); While($data = mysql_fetch_row($foresp1)) echo "<b>Id: </b>" . $data[0] . "<b> Dato: </b>" . $data[1] . "<b> Navn: </b>" . $data[3] . "<b> Besked: </b>" . $data[2]; ?> </body> </html> ---------------------------------------------------------------------------
10. august 2002 - 17:23
#4
det kan være flere ting. hvilke felter er der i tabellen test? hvad datatyper har de. et godt trick er at sætte en or die(mysql_error()) efter kaldet til mysql_query. så får du den fejlmelding mysql giver: mysql_query("INSERT INTO test (Dato, Besked, Navn) VALUES ('$dato','$besked', '$navn')") or die(mysql_error()); mvh JakobA
10. august 2002 - 17:28
#5
k.. Datatyper: Id INT Auto_Increment Dato Tinytext Besked Longtext Navn Mediumtext
10. august 2002 - 17:29
#6
Men hvilken fejl kommer den med ?
10. august 2002 - 17:30
#7
Parse error: parse error in c:\apache\htdocs\Database\index.php on line 26 som er denne linie: mysql_query("INSERT INTO test (Dato, Besked, Navn) VALUES ('$dato','$besked', '$navn')");
10. august 2002 - 17:36
#8
det skulle være fint med hensyn til datatyperne. check lige at både din databas og din talbel i den database heddet test (det er to forskellige ting; det kan være mange tabeller i een database) men prøv at sætte or die på de steder det er muligt: <?php $db = mysql_connect("localhost","Admin","qak86ncs") or die("connect fejl: ".mysql_error()); mysql_select_db("test", $db) or die("selectdb fejl: ".mysql_error()); if($skriv){ $besked = str_replace("\n", "<BR>", $besked) $dato_array = getdate(); $dato = $dato_array["mday"] . "/" . dato_array["mon"] . " - " . dato_array["year"]; mysql_query("INSERT INTO test (Dato, Besked, Navn) VALUES ('$dato','$besked', '$navn')") or die("insert fejl: ".mysql_error()); } $foresp1 = mysql_query("SELECT * FROM test ORDER BY Id DESC LIMIT 0,10") or die("select fejl: ".mysql_error()); While($data = mysql_fetch_row($foresp1)) echo "<b>Id: </b>" . $data[0] . "<b> Dato: </b>" . $data[1] . "<b> Navn: </b>" . $data[3] . "<b> Besked: </b>" . $data[2]; ?> og fortæl hvad der kommer ud af det.
10. august 2002 - 17:41
#9
k.. takker... hold on..
10. august 2002 - 17:42
#10
den hviser ikke noget selvom det er på.....
10. august 2002 - 17:43
#11
Næe hov. den fejlmelding du får har intet med mysql at gøre. den kommer fordi du magler et ; (semikolon) efter linien: $besked = str_replace("\n", "<BR>", $besked)
10. august 2002 - 17:44
#12
ahhh... takker hold on... dude! ;)
10. august 2002 - 17:46
#13
så er det: Parse error: parse error in c:\apache\htdocs\Database\index.php on line 27
10. august 2002 - 17:51
#14
Det er nok fordi du har glemt $ foran dato_array anden og tredie gang det står i linien.
10. august 2002 - 17:52
#15
ja... TAKKER!!!! :)
10. august 2002 - 17:53
#16
så er det vel et svar :)
Vi tilbyder markedets bedste kurser inden for webudvikling