Avatar billede flemseras Nybegynder
28. juli 2004 - 09:00 Der er 5 kommentarer og
3 løsninger

query på database med BLOB

Hejsa!!!

Jeg forsøger at køre nedenstående query via php, men får kun den ene fil (test2.txt) Hvad gør jeg forkert ? Kan det ikke lades sig gøre at hente 2 BLOB filer i een forspørgsel ?



<?
$mysql = mysql_connect("DBSERVER","BRUGERNAVN","PASSWORD");
$db = mysql_select_db("DB",$mysql);

session_start();

$brugernavn = $_POST['brugernavn'];
$password = $_POST['password'];
$filnavn1 = 'test1.txt';
$filnavn2 = 'test2.txt';

$res1 = mysql_query("SELECT kundeid FROM tabel1 WHERE brugernavn = '$brugernavn' AND password = '$password'");

$res2 = mysql_query("SELECT fil1 FROM tabel2 WHERE kundeid = '$res1'");

$row=mysql_fetch_assoc($res2);

header("Content-Type: application/txt");
header('Content-Disposition: inline; filename="' . $filnavn1 . '"');
echo $row['fil1'];

$res3 = mysql_query("SELECT fil2 FROM tabel3 WHERE kundeid = '$res1'");

$row=mysql_fetch_assoc($res3);

header("Content-Type: application/txt");
header('Content-Disposition: inline; filename="' . $filnavn2 . '"');
echo $row['fil2'];

mysql_closer();

?>
Avatar billede erikjacobsen Ekspert
28. juli 2004 - 10:12 #1
Joh, sql-en har ingen problem i det, men HTTP protokollen kan kun returnere een ting af gangen. Hvad skulle der ske med de to "fil1" og "fil2" ??
Avatar billede flemseras Nybegynder
28. juli 2004 - 10:17 #2
De bliver smidt ned lokalt på disken via tilrettede mimetypes. (går udfra du mener de to testfiler..fil1 og fil2 er bare navnet på rækken :-))

Hmm..skal jeg så dele forspørgsel op i to stykker for at få den til at "producere" to returneringer til http ?
Avatar billede erikjacobsen Ekspert
28. juli 2004 - 10:28 #3
Ja, det vil umiddelbart virke. Man kan muligvis også få 2 filer med på een gang
ved at sende dem pakket ind i MIME - jeg har aldrig prøvet.
Avatar billede flemseras Nybegynder
28. juli 2004 - 10:34 #4
tænkte på om noget "loop" halløj ville kunne gøre det ? Det er måske mere et PHP spørgsmål ?
Avatar billede erikjacobsen Ekspert
28. juli 2004 - 10:38 #5
Det er et HTTP-spørgsmål. I dit eksempel her sender du to Content-Type headere, og
det kan man ikke i HTTP. Pakket ind i MIME kan du måske - som sagt har jeg ingen erfaring med det.
Avatar billede majkat Nybegynder
28. juli 2004 - 11:52 #6
Jeg er lidt overrasket over at du overhovedet får noget resultat. Du kan ikke bruge $res1 direkte i det andet kald til mysql_query -- du bruger slet ikke resultatet af forespørgslen men en result-ID...

Og hvad laver du af check for om den første query overhovedet returnerer noget som helst?
Avatar billede flemseras Nybegynder
28. juli 2004 - 12:31 #7
Jeg får den ene fil ?! Men, jeg er ret ny i MySql/PHP så det er muligt jeg får lavet noget "umuligt" :-) Jeg er stadig i fasen hvor jeg tester om tingende overhovedet kan lade sig gøre.
Avatar billede flemseras Nybegynder
18. august 2004 - 11:08 #8
svar
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