Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SQL cos nie dziala
Forum PHP.pl > Forum > PHP
k_uba
W stworzonej bazie mam tabele Dokumenty w ktorej jest kolumna plik (VARCHAR(...)). Z pomoca tego forum zostal stworzony skryp ktory powinien otwierac ten plik w pdf'ie. MIanowicie po wywolaniu otwiera sie Adobe ale jest blad a po zapisaniu na dysk tego pliku ma on 255kb. Moje pytanie jest nastepujace: Jak przechowywac plik w bazie aby byl on prwidlowo otczytywany przez ponizszy skrypt:

Dla proby jest na sztywno wprowadzone 20.
  1. <?php
  2. header('Content-type: application/pdf');
  3. header('Content-Disposition: attachment; filename="$result"');
  4.  
  5. $conn=@mysql_connect("localhost","root","kuba");
  6. @mysql_select_db("praca",$conn);
  7. $sql="SELECT tytul FROM dokumenty WHERE id_dokumenty=20";
  8. $query=mysql_query($sql) or die("blad". mysql_error());
  9. $result=mysql_fetch_assoc($query);
  10. readfile('$result');
  11. ?>
cadavre
To może TEXT zamiast VARCHAR?
batman
Jeśli przechowujesz plik w bazie danych, to pole, w którym się on znajduje powinno mieć typ BLOB.
kossa
Varchar ma długość 255, nie wiem co chcesz osiągnąć, ale do przechowywania danych binarnych stosuje się pola typu blob.

Jak tworzyć dokumenty pdf - poszukaj na forum.

Łukasz
k_uba
W mojej bazie jest taki zalozenie ze mam wprowadzac dokumenty pdf (juz zmienilem na BLOB) przez inputa a nastepnie wybrac jeden dokumenty pdf i go otworzyc i cos mi nie dziala a ja nie wiem za bardzo co
kliszaq
$sql="SELECT tytul FROM dokumenty WHERE id_dokumenty=20";

a moze :

$sql="SELECT tytul FROM dokumenty WHERE id_dokumentu=20";

ps. pozatym jesli uzywasz np MS-SQL-a, to twoj varchar moze miec wiecej niz 256 znakow. W zasadzie tyle ile zadeklarujesz, tyle bedzie.
Pewnie tez jest jakies gorne ograniczenie.

Moja rada jest taka, ze jesli mialbys na prawde duze dane, i mialyby one byc w pewnym stalym wzrocu, to moze sobie podzielic kazda strone
na osobny rekord w tabeli ? Dzielac dodatkowo na strony o ustalonej wielkosci maksymalnej zaoszczedzasz klopotow.
(To taka sugestia).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.