Avatar billede Slettet bruger
16. august 2005 - 18:47 Der er 7 kommentarer og
1 løsning

PHP og MySQL - Fejl i koden?

Hej eksperter!
Jeg sidder lige og bøvler med en PHP-kode;
Jeg kan ikke få det til at virke...

Koden henter data fra databasen 'dictionary' og tabellen 'german'.
I tabellen er der tre felter: 'dk', 'de' og 'type'.
Koden skulle gerne returnere 'b' (der er indholdet af 'de' i rækken hvor 'dk' er 'a').

Desuden henter koden to variabler via request: 'word' og 'lang'.
Disse bliver 'ord' og 'dk' (hvilket egentlig ikke spiller nogen stor rolle).

Koden er:

<?php

    $word=$_REQUEST["word"];
    $lang=$_REQUEST["lang"];

    if($word==""&&$lang==""){
        print "<title>Oversættelse - Fejl: Ord + sprog</title>Indtast venligst et eller flere ord og vælg sprog.";

    }elseif($word==""){
        print "<title>Oversættelse - Fejl: Ord</title>Fejl:<br>Intet ord indtastet.";

    }elseif($lang==""){
        print "<title>Oversættelse - Fejl: Sprog</title>Fejl:<br>Sprog ikke valgt.";

    }else{
        if($lang=="dk"){
            print "<title>Oversættelse - Resultat af '$word' fra dansk til tysk</title>";
        }

        if($lang=="de"){
            print "<title>Oversættelse - Resultat af '$word' fra tysk til dansk</title>";
        }

        mysql_connect("localhost","2ke","ukendt") or die(mysql_error());
        mysql_select_db("dictionary") or die(mysql_error());

        $var=mysql_query("SELECT de FROM german WHERE dk = 'a'") or die(mysql_error());
        print "Her skulle gerne stå 'b':<br>$var";
    }

?>

Koden returnerer bare:

Her skulle gerne stå 'b':
Resource id #3

Hvorfor??
Avatar billede hmortensen Nybegynder
16. august 2005 - 18:53 #1
Du skal hente resultat sættet:
$query = mysql_query("SELECT de FROM german WHERE dk = 'a'") or die(mysql_error());
$data = mysql_fetch_assoc($query);
print "Her skulle gerne stå 'b':<br>".$date['de'];
Avatar billede krukken Mester
16. august 2005 - 19:00 #2
Det er nemlig rigtig. Du får aldrig hevet nogle værdi ud at den query. Du søger kun i den.
Avatar billede krukken Mester
16. august 2005 - 19:05 #3
Den værdi du nu udskriver er faktisk en true - false værdi for om din søgning lykkes. Jeg kan ikke lige huske hvad tre betyder - men som regl er 0 false, og alt over er true.

Kan du mon passe at du har tre rækker som passe på din forespørgsel?
Avatar billede hmortensen Nybegynder
16. august 2005 - 19:09 #4
krukken:
mysql_query returnere false ved fejl, men en resource når der bruges SELECT statement.
Du kan læse mere om resources her:
http://dk2.php.net/manual/en/language.types.resource.php
Avatar billede Slettet bruger
18. august 2005 - 16:11 #5
Ja... Jo... Jeg kan stadig ikke få det til at virke, og bruger nu en anden metode...
Avatar billede Slettet bruger
01. april 2006 - 08:28 #6
Bare smid nogle svar...
Avatar billede hmortensen Nybegynder
01. april 2006 - 14:57 #7
:)
Avatar billede Slettet bruger
01. april 2006 - 18:55 #8
Takker!

--- LUKKET ---
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