tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Obrázky v MySQL

před 11 lety

Pajk
Člen | 2

Ahoj, zkouším Dibi a nemůžu přijít na to, jak vytáhnout obrázky z databáze.
Teď to mám bez Dibi následovně:

<?php
    // get the image from the db
        $sql = "SELECT image FROM images WHERE image_id =" . $_GET['image_id'];
    $type = "SELECT image_type FROM images WHERE image_id =" . $_GET['image_id'];

        // the result of the query
        $result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
    $imtype = mysql_query("$type") or die("Invalid query: " . mysql_error());

        // set the header for the image
        header("Content-type: " . $imtype . ". ");

    echo mysql_result($result, 0);

        mysql_close($link);
?>

To je funkční, i když si nejsem jistý, jestli naprosto správné. Z PHP a SQL znám základy, které jsem se naučil pár let zpět, teď teprv objevuji novinky v PHP5:).

Když použiji Dibi, tak nelze vyvoalt header(), protože už se nastavil při úvodním spojení.

<?php
    require_once 'database.php';
    header("Content-type: image/jpeg");
    $result = dibi::query('SELECT image FROM [images] WHERE image_id=%i',$_GET['image_id']);
    $value = $result->fetchSingle();
    echo $value;
?>

Header nastaví zřejmě Dibi::connect(). Lze s tím nějak hnout nebo se tím nemám zabývat:)?

před 11 lety

David Grudl
Nette Core | 6806

Nemáš v nějakém souboru zbytečnou mezeru na začátku nebo na konci? Nebo nedal tam editor na začátek tzv. BOM znak? Dobrý postup je také vynechat všechny závěrečné ?>.

před 11 lety

Pajk
Člen | 2

Jop, tak asi to byly ty prázdné řádky, už to funguje na výbornou. Díky:).