sql >> Database teknologi >  >> RDS >> Mysql

Trækker BLOB-billeddata fra MySQL i PHP

Du kan gemme billeder i din database, hvis du vil (selvom der heller ikke er noget galt med bare at gemme dem som filer, vælg hvad der er passende i din situation), men gem de rå binære data i en BLOB (dvs. lad være med at kode dem med base64). Du kan indlejre de binære data, du får fra file_get_contents i din forespørgsel direkte, forudsat at du bruger den korrekte escape-funktion (mysql_real_escape_string i dit tilfælde) først.

Hvad angår outputtet af billedet, kan du gøre det, som du gør det lige nu, men du bliver nødt til at udlæse det base64-kodet og med en data URI-skema som dette:

echo '<img alt="embedded image" src="data:image/png;base64,' . chunk_split(base64_encode($get_pics2['img_location'])) . '">';

Bemærk, at der er nogle fordele og ulemper ved indlejrede billeddata. Nogle vigtige ulemper, du skal være opmærksom på, er de alvorlige omkostninger ved base64-kodning (ca. 33 % større end originalen) og potentielle cacheproblemer.



  1. Hent hele rækken, men den første post mangler

  2. Forespørgselstidszone - db server &klientmaskine har forskellige tidszoner

  3. SQL Update-forespørgsel med gruppe efter klausul

  4. MySQL:kontroller, om en værdi er indeholdt i et interval