Avatar billede sbahn Nybegynder
21. november 2005 - 22:16 Der er 26 kommentarer og
1 løsning

simpel query

Håber det er ok at poste dette her fremfor i php-afdelingen.
Jeg vil gerne tjekke om min basaleforståelse er i orden, men det er den vist ikke, for flg. returnerer en tom side i browseren. Hvad er der galt?

<html>
<body>
<?php
$password="password";
$db="database";
$connection = mysql_connect("localhost","root",$password);
mysql_select_db($db, $connection);
$resultat = mysql_query("select * from Personer");
while ($row = mysql_fetch_row($resultat))
{
    for ($i=0; $i<mysql_num_fields($resultat); $i++)
        echo $row[$i];
}
mysql_close();
?>
</body>
</html>
Avatar billede thesurfer Nybegynder
21. november 2005 - 22:30 #1
Prøv med:

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

/theSurfer
Avatar billede thesurfer Nybegynder
21. november 2005 - 22:31 #2
Men det er jo PHP kode, så det skal over i PHP kategorien..

Hvorfor har du oprettet det i MySQL kategorien?

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 22:35 #3
jeg tænkte, det var lige så pasende her.
Og
or die...
giver stadig en blank side.
Avatar billede thesurfer Nybegynder
21. november 2005 - 22:39 #4
Hmmm.. er der overhovedet nogen poster i database? :-)

2 ting der kan give en blank side:
1) ingen poster i databasen = ingen loop
2) ingen poster der matcher dine kriterier = ingen loop

Prøv det her:
echo "start<br>"
while ($row = mysql_fetch_row($resultat))
{
    for ($i=0; $i<mysql_num_fields($resultat); $i++)
        echo $row[$i];
}
echo "<br>slut"

Kan man ikke udskrive antal fundne poster? hvis man kan, prøv at udskriver det:

echo "antal poster: *" . $antal_poster . "*"

Hvis resultat af den linie er "**", eller "*0*" (eller lavere), er der ikke fundet nogen poster

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 22:49 #5
Der er helt sikkert poster i tabellen. Men dit førstnævnte forslag giver

"; while ($row = mysql_fetch_row($resultat)) { for ($i=0; $i
slut"; mysql_close(); ?>

(når linierne med echo afsluttes med ;)
Avatar billede thesurfer Nybegynder
21. november 2005 - 22:53 #6
hmm.. glemte at putte ";" efter hver linie:

echo "start<br>";

og

echo "<br>slut";

(jeg havde lige programmeret i ASP, hvor der ikke skal være ";")

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 22:58 #7
Yes :-)
Men hjælper mit output dig?
Avatar billede thesurfer Nybegynder
21. november 2005 - 23:02 #8
Nej, det forvirrer mig :-)

Skriver den virkeligt?:

"; while ($row = mysql_fetch_row($resultat)) { for ($i=0; $i
slut"; mysql_close(); ?>

Altså, hvis du bare kigger på siden, efter at den er loadet.?

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 23:04 #9
Ja, det er tydeligvis (?) slet ikke kompileret.
Avatar billede thesurfer Nybegynder
21. november 2005 - 23:07 #10
hmmm.. prøv at oprette en ny PHP fil, i samme mappe.. lad indholdet være:

<?php
echo "hello world";
?>

Load urlen.. hvad skriver den så? (den skulle gerne KUN skriv: hello world)

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 23:10 #11
Ja, der har vi jo problemet. Den er også tom.
Avatar billede sbahn Nybegynder
21. november 2005 - 23:10 #12
Men hvad skal jeg gøre ved det?
Avatar billede thesurfer Nybegynder
21. november 2005 - 23:10 #13
Ny test.. indhold:

html start
<?php
echo "hello world";
?>
html slut

Hvad er resultatet?

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 23:12 #14
Page Source i FireFox viser bare hele php-koden (både i helloworld og i mysql-filen)
Avatar billede sbahn Nybegynder
21. november 2005 - 23:14 #15
...også når kilden er
<html>

<?php
echo "hello world";
?>

</html>
Avatar billede thesurfer Nybegynder
21. november 2005 - 23:15 #16
Prøv at genstarte din computer.. din PHP server kompilerer overhovedet ikke koden..

Er du sikker på at filen hedder .PHP eller .PHP3 eller .PHP4 ?
Den må ikke hedde .HTM eller .HTML eller noget i den stil.. check det lige..

/theSurfer
Avatar billede thesurfer Nybegynder
21. november 2005 - 23:27 #17
husk også, at du skal loade filen via din localhost..

eksempel: http://localhost/evt_en_mappe/index.php

Hvis du bare åbner filen i browser, vil den vise filen som tekst..

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 23:31 #18
Hvad er en localhost?

Filerne ligger i Apaches htdocs-mappe.
Avatar billede sbahn Nybegynder
21. november 2005 - 23:32 #19
og desværre hedder filerne .php, og genstarten gjorde intet for problemet
Avatar billede thesurfer Nybegynder
21. november 2005 - 23:36 #20
Prøv at stoppe Apache serveren, og starte den igen..

Se evt: http://httpd.apache.org/docs/2.0/platform/windows.html#winsvc

/theSurfer
Avatar billede thesurfer Nybegynder
21. november 2005 - 23:36 #21
Hvordan loader du filerne?

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 23:40 #22
apache kører allerede (desværre)
jeg loaderfilerne ved at vælge open file i firefox
Avatar billede sbahn Nybegynder
21. november 2005 - 23:49 #23
http://localhost
viser, at Apache er installeret med succes
Avatar billede thesurfer Nybegynder
21. november 2005 - 23:55 #24
du skal bruge din http://localhost adresse, når du skal loade filerne! :-)

Ellers åbnes de som tekst filer :-)

Opret en mappe i din htdocs mappe, i din Apache mappe. Her lægger du så dine filer.

Hvis du har indstalleret Apacehe i C:\Apache, skal det f.eks. se sådan ud:

C:\Apache\htdocs\sites

Her er der oprettet en mappe, der hedder "sites". Denne komme til at indeholde alle dine PHP filer.

Lad os sige, at du har et kartotek. Opret en mappe i "sites" mappen, kaldet "kartotek". Her placerer du alle dine kartotek-relatrede filer.

Så loader du dine filer med: http://localhost/sites/kartotek

Prøv lige det, og test med en af vores test filer :-)

/theSurfer
Avatar billede sbahn Nybegynder
21. november 2005 - 23:59 #25
Det virker i hvert fald på hello world. Mange tak for hjælpen!
Avatar billede thesurfer Nybegynder
22. november 2005 - 00:00 #26
Det var så lidt.. da jeg fandt ud af, hvad der var galt..

Det er iorden med mig, hvis du smider et svar, markerer dit navn i boksen til venstre, og derefter klikker på Accepter-knappen.. :-)

Problemet var jo, at du loadede filerne forkert.. men det ved du så nu :-)

/theSurfer
Avatar billede sbahn Nybegynder
22. november 2005 - 00:13 #27
Håber andre kan lære en masse af dette.
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