Avatar billede or.han Nybegynder
06. august 2005 - 17:29 Der er 17 kommentarer og
1 løsning

MySQL ingen output

Jeg har dette gemt, men siden er bare blank:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
mysql_query("create database Data");
$tabelSQL = "create Table Tabel
            (
                navn    varchar(50),
            )";
mysql_query($tabelSQL);
$insertSQL = "insert into Tabel (navn)
              values ('Rene Møller')";
mysql_query($insertSQL);

$resultat = mysql_query("select * from Tabel");

while ($raekke = @mysql_fetch_array($resultat)) {
  echo "Navn: ".$raekke['navn']."<br />";
}
?>
</body>
</html>

Hvordan får man det til at virke? Jeg har endnu ikke fået noget med database til at virke, så der er vel noget galt.
Avatar billede jaw Nybegynder
06. august 2005 - 17:34 #1
Først og fremmest så skift:
$resultat = mysql_query("select * from Tabel");
til:
$resultat = mysql_query("select * from Tabel") or die(mysql_error());

... og fjern @'et i din mysql_fetch_array så du kan se fejlmeddelelser.
Avatar billede erikjacobsen Ekspert
06. august 2005 - 17:39 #2
create database, create table, plejer man at gøre "een gang for alle" - et andet sted.
Er det på din egen server, webhotel?
Avatar billede or.han Nybegynder
06. august 2005 - 18:17 #3
Det er på min egen server.
Avatar billede or.han Nybegynder
06. august 2005 - 18:19 #4
Nu har jeg ændret som jaw sagde og nu siger den:
No Database Selected
Avatar billede jaw Nybegynder
06. august 2005 - 18:22 #5
Det er så fordi du mangler at connecte:

mysql_connect("host", "user", "pass");
mysql_select_db("databasenavn");
Avatar billede or.han Nybegynder
06. august 2005 - 18:34 #6
Hvor skal det stå i min kode? Jeg har sat det i toppen men så siger den:
Table 'Data.tabel' doesn't exist
Avatar billede erikjacobsen Ekspert
06. august 2005 - 18:43 #7
Hvad skriver du helt præcist? De eksempler vi giver dig har ikke nødvendigvis de samme navne.
Avatar billede or.han Nybegynder
06. august 2005 - 18:48 #8
<?php
mysql_query("create database Data");
mysql_connect("localhost", "root");
mysql_select_db("Data");
$tabelSQL = "create Table Tabel
            (
                navn    varchar(50),
            )";
mysql_query($tabelSQL);
$insertSQL = "insert into Tabel (navn)
              values ('Rene Møller')";
mysql_query($insertSQL);

$resultat = mysql_query("select * from Tabel") or die(mysql_error());

while ($raekke = mysql_fetch_array($resultat)) {
  echo "Navn: ".$raekke[navn]."<br />";
}
?>
Avatar billede or.han Nybegynder
06. august 2005 - 19:14 #9
Jeg forstår ikke det med while-løkken. Skal man ikke skrive et udsagn i parenteserne? Hvorfor er der lavet en variabel-tildeling så?
Avatar billede jaw Nybegynder
06. august 2005 - 19:22 #10
Det må næsten skulle være således:
<?php
mysql_connect("localhost", "root", "");
mysql_query("create database Data");
mysql_select_db("Data");
$tabelSQL = "create Table Tabel
            (
                navn    varchar(50),
            )";
mysql_query($tabelSQL);
$insertSQL = "insert into Tabel (navn)
              values ('Rene Møller')";
mysql_query($insertSQL);

$resultat = mysql_query("select * from Tabel") or die(mysql_error());

while ($raekke = mysql_fetch_array($resultat)) {
  echo "Navn: ".$raekke[navn]."<br />";
}
?>

Og du har da ingen variabeltildeling i din while-løkke, men derimod en udskrivning af variablen $raekke[navn].
Avatar billede or.han Nybegynder
06. august 2005 - 19:45 #11
Der er stadig samme fejl. Virker det hos dig?
Avatar billede erikjacobsen Ekspert
06. august 2005 - 20:06 #12
1) Efter hvert eneste mysql-sætning bør/skal du have noget der siger, hvis der er fejl

  mysql_query($tabelSQL) or die(mysql_error());

2) Så vi du opdage at du har et komma for meget i een af dine sql-sætninger. Prøv!

3) Du skal altså oprette database og tabel et andet sted. Det er det du kommer til i fremtiden.
Avatar billede or.han Nybegynder
06. august 2005 - 20:14 #13
Jeg har slettet kommaet og tilføjet or die alle steder, men nu siger den:
Can't create database 'Data'. Database exists

Mit script:

<?php
mysql_connect("localhost", "root", "");
mysql_query("create database Data") or die(mysql_error());
mysql_select_db("Data");
$tabelSQL = "create Table Tabel
            (
                navn    varchar(50)
            )";
mysql_query($tabelSQL) or die(mysql_error());
$insertSQL = "insert into Tabel (navn)
              values ('Rene Møller')";
mysql_query($insertSQL) or die(mysql_error());

$resultat = mysql_query("select * from Tabel") or die(mysql_error());

while ($raekke = mysql_fetch_array($resultat)) {
  echo "Navn: ".$raekke[navn]."<br />";
}
?>
Avatar billede erikjacobsen Ekspert
06. august 2005 - 20:16 #14
Ja, for du har jo allerede oprettet den i dine tidligere kørsler. Bemærk venligst 3) fra før.
Avatar billede or.han Nybegynder
06. august 2005 - 20:31 #15
Nåh ok nu forstår jeg det. Tak ska du have. Lav et svar så får du point.
Avatar billede erikjacobsen Ekspert
06. august 2005 - 20:33 #16
Jeg samler slet ikke på point, tak.
Avatar billede or.han Nybegynder
06. august 2005 - 21:21 #17
Du har ellers ret mange :D, men okay jeg tager dem selv så..
Avatar billede jaw Nybegynder
07. august 2005 - 19:01 #18
Selv tak ?!
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