Avatar billede jehomi Nybegynder
25. juni 2003 - 18:08 Der er 13 kommentarer

udskrive fra database

Jeg har lavet følgende stykke kode :

<?php


//De sidste 5 post hvor type = køb
$conn = mysql_connect("localhost","root") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());

$query = mysql_query("SELECT * FROM tabel");
while($row = mysql_fetch_array($query))
echo "
<table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td><b>Type: $row[type]  Gruppe: $row[kate] </b> - <font color='#999999'>oprette den: $row[dato] af $row[navn]</font></td>
</tr>
<tr>$row[over]</tr>
<tr>
<td>$row[beskrivelse]</td>
</tr>
<tr>
<td>Pris: $row[pris]</td>
</tr>
<tr>
<td><img src='../test/$row[filnavn]'></td>
<td>$row[tekst]</td>
</tr>
<tr>
<td>IP: $row[IP]</td>
</tr>


</table>
<br><br><br><br><br><br><br><br>
";

?>

og der kommer følgende fejl  :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\apache\apache\htdocs\billedeudskriv.php on line 9


Hvad kan det skyldes ????
Avatar billede detox Nybegynder
25. juni 2003 - 18:14 #1
Hvis dette er line 9, skal der måske stå:
<tr>$row['over']</tr>
Avatar billede jehomi Nybegynder
25. juni 2003 - 18:14 #2
ingen forslag...........
Avatar billede detox Nybegynder
25. juni 2003 - 18:16 #3
Hovsa, du mangler jo nogle {} i forbindelse med din while.
Avatar billede jehomi Nybegynder
25. juni 2003 - 18:27 #4
nu udskriver den billedet, men som en ramme med et rødt kryds i.
Er det noget med den måde filnavnet er erklæret på i mySQL ???
Avatar billede jehomi Nybegynder
25. juni 2003 - 18:29 #5
det ligger i mappenn der hedder test, men der gå noget galt når jeg skal læse fra databasen eller den måde filnavnet er lagt i databasen på ??
Avatar billede detox Nybegynder
25. juni 2003 - 18:36 #6
Måske er det stien det er galt med er du sikker på du skal have .. med?
Du kan jo prøve uden:
<td><img src='test/$row[filnavn]'></td>
ellers prøv med:
echo $row[filnavn];
og se hvad det giver.
Avatar billede jehomi Nybegynder
25. juni 2003 - 19:00 #7
tror nærmere det er databasen der giver problemer, altså hvordan de er defineret der som type...

Hvilken type er et filnavn feks. ??
Avatar billede detox Nybegynder
25. juni 2003 - 21:24 #8
men har du da prøvet med:
echo $row[filnavn];
eller evt.:
echo $row['filnavn'];
og hvad type bruger du i øjeblikket?
Avatar billede jehomi Nybegynder
25. juni 2003 - 23:45 #9
ja den er bare defineret som varchar, da jeg ikke ved som  meget om de typer.
Avatar billede detox Nybegynder
26. juni 2003 - 00:34 #10
Varchar skulle osse være ok til formålet, et filnavn er jo i bund og grund bare nogle bogstaver og evt tal og nogle få specialtegn, som sagtens kan være i en varchar.
Avatar billede detox Nybegynder
26. juni 2003 - 00:42 #11
Men prøv at udskrive nogle af de variabler du henter fra databasen, det plejer at være en god måde at debugge på. Og så brug '', fx: $row['filnavn'].
Avatar billede mgb Nybegynder
27. juni 2003 - 11:56 #12
Hvis jeg var dig ville jeg fjene html'et mens du tester. Det ville også gøre det letter for dig selv hvis du escapede din php code:

<snip alt="html med embedded php code">
  <td><img src="../test/<?=$row[filnavn];?></td>
</snip>

PS: hedder din mysql table 'tabel'? Og din database 'database'?
Plsu det er altid godt at oprette nogle brugere med færre rettighedder end root, som du kan bruge i dine php scripts.
+ giv root at password.
Avatar billede jim.west Nybegynder
30. juni 2003 - 00:01 #13
gør som "detox" siger... brug $row['filnavn'] <-- du skal nemlig have enkelt klammer (') om det tupel navn du skal udtrække, og IKKE $row[filnavn] <-- det er forkert...
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