Ответы пользователя по тегу MySQL
  • Как хранить картинки в БД MySQL?

    @helpik94
    DevOps engineer в Containerum
    Сначала делаете таблицу для хранения картинок:
    create table testblob (
        image_id        tinyint(3)  not null default '0',
        image_type      varchar(25) not null default '',
        image           blob        not null,
        image_size      varchar(25) not null default '',
        image_ctgy      varchar(25) not null default '',
        image_name      varchar(50) not null default ''
    );

    Затем:
    $imgData = file_get_contents($filename);
    $size = getimagesize($filename);
    mysql_connect("localhost", "$username", "$password");
    mysql_select_db ("$dbname");
    // mysqli 
    // $link = mysqli_connect("localhost", $username, $password,$dbname); 
    $sql = sprintf("INSERT INTO testblob
        (image_type, image, image_size, image_name)
        VALUES
        ('%s', '%s', '%d', '%s')",
       
        mysql_real_escape_string($size['mime']),
        mysql_real_escape_string($imgData),
        $size[3],
        mysql_real_escape_string($_FILES['userfile']['name'])
        );
    mysql_query($sql);

    Для отображения картинки на веб странице:
    $link = mysql_connect("localhost", "username", "password");
    mysql_select_db("testblob");
    $sql = "SELECT image FROM testblob WHERE image_id=0";
    $result = mysql_query("$sql");
    header("Content-type: image/jpeg");
    echo mysql_result($result, 0);
    mysql_close($link);
    Ответ написан
    2 комментария