18. august 2005 - 09:24
Der er
41 kommentarer og 1 løsning
Find fejlen
Kan i ikke lige finde fejlen her: <? // Connect { $mysql_host = "localhost"; $mysql_user = "****"; $mysql_password = "******"; $mysql_db = "******"; mysql_connect("$mysql_host", "$mysql_user", "£mysql_password"); //or die('Kunne ikke forbinde til databasen:' .mysql_error(); mysql_select_db("$mysql_db"); //or die ('Kunne ikke vælge databasen. Eksisterer den?') } ######################### // MySQL forespørgsel $sql = "SELECT * FROM news ORDER BY dato"; $result = mysql_query($sql); //or die ('MySQL forespørgsel fejlede:' . mysql_error()); // Echo resultater fra DB i en tabel //echo "<table>\n"; while ($row = mysql_fetch_array($result)) ( echo "test<br>"; // echo "\<tr>\n"; // foreach ($line as $col_value) // ( // echo "\t\t<td>".$row["id"]."<td>\n"; // ) // echo "\t<\tr>\n"; ) //echo "<\table>\n"; ######################### // Befri hukommelsen mysql_free_result($result); // Luk forbindelsen til MySQL mysql_close(db_connect()); ?> for det gider nemlig ikke at virke hos mig, jeg er sikker på at alle databaser er rigtigt lavet og alle login info til mysql også er rigtige (har blot sløret dem her)
Annonceindlæg fra SoftwareOne
18. august 2005 - 09:26
#1
£mysql_password er rettet til: "$mysql_password"
18. august 2005 - 09:27
#2
Se lige bort fra den her også: // Luk forbindelsen til MySQL mysql_close(db_connect());
18. august 2005 - 09:29
#3
Hvordan ser fejlmeddelelsen ud?
18. august 2005 - 09:30
#4
Sæt die på dine mysql-kald. Det giver nyttig information: <? // Connect $mysql_host = "localhost"; $mysql_user = "****"; $mysql_password = "******"; $mysql_db = "******"; mysql_connect($mysql_host, $mysql_user, $mysql_password) or die(mysql_error()); mysql_select_db("$mysql_db") or die(mysql_error()); // ######################### // MySQL forespørgsel $sql = "SELECT * FROM news ORDER BY dato"; $result = mysql_query($sql) or die(mysql_error()); // Echo resultater fra DB i en tabel // echo "<table>\n"; while ($row = mysql_fetch_array($result)) ( echo "test<br>"; // echo "\<tr>\n"; // foreach ($line as $col_value) // ( // echo "\t\t<td>".$row["id"]."<td>\n"; // ) // echo "\t<\tr>\n"; ) //echo "<\table>\n"; ######################### // Befri hukommelsen mysql_free_result($result) or die(mysql_error()); // Luk forbindelsen til MySQL mysql_close(db_connect()) or die(mysql_error()); ?>
18. august 2005 - 09:33
#5
har kopieret din kode over i mit dokument, men intet hjælper, ingen fejl bliver meldt. hvad gør jeg så ?
18. august 2005 - 09:34
#6
Hvor mange rækker data har du i din news-tabel?
18. august 2005 - 09:35
#7
2 rækker (altså... 2 id's) jeg er godt nok på herrens mark her
18. august 2005 - 09:36
#8
altså: id skribent tekst dato id skribent tekst dato hvis det hjælper :)
18. august 2005 - 09:37
#9
Prøv lige at sætte denne her rettelse ind: // Luk forbindelsen til MySQL mysql_close(db_connect()) or die(mysql_error()); echo "vi kom da her til..."; ?>
18. august 2005 - 09:38
#10
læg mærke til at jeg ikke længere har en funktion der hedder db_connect, den fjernede jeg da jeg indsatte forbindelsen til mysql direkte. men jeg prøver da lige :)
18. august 2005 - 09:40
#11
nu ser det sådan ud: <? // Connect $mysql_host = "localhost"; $mysql_user = "****"; $mysql_password = "******"; $mysql_db = "*******"; $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die(mysql_error()); mysql_select_db("$mysql_db") or die(mysql_error()); // ######################### // MySQL forespørgsel $sql = "SELECT * FROM news ORDER BY dato"; $result = mysql_query($sql) or die(mysql_error()); // Echo resultater fra DB i en tabel // echo "<table>\n"; while ($row = mysql_fetch_array($result)) ( echo "test<br>"; // echo "\<tr>\n"; // foreach ($line as $col_value) // ( // echo "\t\t<td>".$row["id"]."<td>\n"; // ) // echo "\t<\tr>\n"; ) //echo "<\table>\n"; ######################### // Befri hukommelsen mysql_free_result($result) or die(mysql_error()); // Luk forbindelsen til MySQL mysql_close($link) or die(mysql_error()); echo "vi kom da her til..."; ?>
18. august 2005 - 09:41
#12
..men der sker stadig ingenting :( Jeg har ingen anelse om hvad der sker, men vil tro at det er en fejl i databasekaldet, da jeg jo ikke får nogen info frem?
18. august 2005 - 09:42
#13
Har du noget kode ovenover det du viser?
18. august 2005 - 09:43
#14
Hvis det vare en fejl i databasekaldet så skulle die(mysql_error()) jo nettop fortælle hvad - eller i dem mindste - hvor at der er fejl.
18. august 2005 - 09:44
#15
ja, jeg har noget kode udover det jeg viser, men det er ganske alm html, som jeg har fjernet nu, og det hjælper stadig intet :( og jeg får heller ingen fejl fra die(mysql_error())
18. august 2005 - 09:45
#16
Post lige den komplette kode.
18. august 2005 - 09:45
#17
Vis kilde i browseren, hvad får du frem her? Måske du kører med short tags off
18. august 2005 - 09:47
#18
den komplette kode er den du ser ovenover :) Kode fra vis kilde i Firefox: <html><body></body></html>
18. august 2005 - 09:49
#19
... den komplette PHP-kode?
18. august 2005 - 09:50
#20
den komplette php kode, ja. :)
18. august 2005 - 09:52
#21
Jeg tror at vi snakker lidt forbin hinanden her; Post venligst den komplette PHP-kode for din side - komplet med html og det hele. :^)
18. august 2005 - 09:53
#22
<? // Connect $mysql_host = "localhost"; $mysql_user = "******"; $mysql_password = "******"; $mysql_db = "********"; $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die(mysql_error()); mysql_select_db("$mysql_db") or die(mysql_error()); // ######################### // MySQL forespørgsel $sql = "SELECT * FROM news ORDER BY dato"; $result = mysql_query($sql) or die(mysql_error()); // Echo resultater fra DB i en tabel // echo "<table>\n"; while ($row = mysql_fetch_array($result)) ( echo "test<br>"; // echo "\<tr>\n"; // foreach ($line as $col_value) // ( // echo "\t\t<td>".$row["id"]."<td>\n"; // ) // echo "\t<\tr>\n"; ) //echo "<\table>\n"; ######################### // Befri hukommelsen mysql_free_result($result) or die(mysql_error()); // Luk forbindelsen til MySQL mysql_close($link) or die(mysql_error()); echo "vi kom da her til..."; ?>
18. august 2005 - 09:56
#23
det er ALT det kode jeg har :)
18. august 2005 - 09:56
#24
Det er ikke den komplette kode. Du sagde at der var noget html foran. Altsammen, tak. Det er i hvert fald slet ikke den der side som udskriver "<html><body></body></html>".
18. august 2005 - 09:59
#25
Citat: "..., jeg har noget kode udover det jeg viser, men det er ganske alm html, som jeg har fjernet nu" Og jo, det er den side, ellers ved jeg ikke da :(
18. august 2005 - 09:59
#26
Er du sikker på at det overhoved er det script du køre? Der er nemlig ikke noget i din kode som overhovedet kan udskrive "<html><body></body></html>".
18. august 2005 - 10:01
#27
Hvis dokumentet præsenterer klienten for præcis 0 bytes output, så vil firefox vise <html><body></body></html>
18. august 2005 - 10:03
#28
Prøv at erstatte hele din kode med: <?php echo "Kommer dette i det mindste igennem?"; ?>
18. august 2005 - 10:04
#29
PS: Det er grimt når en browser laver om på html-koden. Min mening altså.
18. august 2005 - 10:06
#30
Den viser koden korrekt :) / :( PS: Helt enig.
18. august 2005 - 10:10
#31
Den laver også koden om i IE, men viser dog HTTPEQUIV tingen.
18. august 2005 - 10:10
#32
Prøv dette: <? echo "DEBUG: I starten..."; // Connect $mysql_host = "localhost"; $mysql_user = "******"; $mysql_password = "******"; $mysql_db = "********"; $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die(mysql_error()); mysql_select_db($mysql_db, $link) or die(mysql_error()); // ######################### // MySQL forespørgsel $sql = "SELECT * FROM news ORDER BY dato"; $result = mysql_query($sql) or die(mysql_error()); echo "DEBUG: Antal rækker = " . mysql_num_rows(); // Echo resultater fra DB i en tabel // echo "<table>\n"; while ($row = mysql_fetch_array($result)) ( echo "test<br>"; // echo "\<tr>\n"; // foreach ($line as $col_value) // ( // echo "\t\t<td>".$row["id"]."<td>\n"; // ) // echo "\t<\tr>\n"; ) //echo "<\table>\n"; ######################### // Befri hukommelsen mysql_free_result($result) or die(mysql_error()); // Luk forbindelsen til MySQL mysql_close($link) or die(mysql_error()); echo "DEBUG: I slutningen..."; ?>
18. august 2005 - 10:10
#33
ksoren: Jamen, hvad gør man så? altså... er min table bare tom eller hvad? - for jeg har da skrevet noget i den.
18. august 2005 - 10:15
#34
Selv hvis din tabel var tom så skulle der jo komme noget ud via: echo "vi kom da her til...";
18. august 2005 - 10:19
#35
jeg har fundet fejlen nu! :D while ($row = mysql_fetch_array($result)) { echo "test<br>"; } der skal self. være Tuborg klammer om :D smid svar begge to, hvis i vil have nogen point. Nielle har hjulpet mest, og vil derfor også få flest point :)
18. august 2005 - 10:22
#36
ok, den lagde jeg så ikke lige mærke til :) Jeg vil klart anbefale, når du sidder på en testserver, at du ændrer display_errors = on i din php.ini Så havde du fundet fejlen med det samme
18. august 2005 - 10:23
#37
Den havde jeg slet ikke set. Det burde nu have resulteret i en compiler-fejl i stedet for ingenting. Men nej, du fandt jo selv fejlen, så ingen point til mig på denne. :^)
18. august 2005 - 10:23
#38
Aaah display_errors...
18. august 2005 - 10:25
#39
jo.. i skal have nogle point begge to, i har stadig forsøgt at hjælpe, og gjort en indsats, i kunne jo lige så vel som jeg selv have fundet fejlen, så jeg belønner efter indsats hvis det altså er i orden :)
18. august 2005 - 10:27
#40
Hvis du insistere...
18. august 2005 - 10:44
#41
det gør jeg :) ksoren, du må også gerne lægge et svar.
18. august 2005 - 11:34
#42
Well.. tror vi giver dig point nielle, ksoren lader ikke høre fra sig =/
Vi tilbyder markedets bedste kurser inden for webudvikling