php_mysql отображение проблемного изображения из базы данных - PullRequest
0 голосов
/ 21 февраля 2011

Я пытаюсь отобразить изображение из моей базы данных, используя PHP и MySQL.Я искал в интернете, как это сделать, и я связал его с кодом, который нашел, но единственное, что появляется на экране, это поврежденный файл или что-то в этом роде.

Мой код:

<?php    
if( ( isset($_POST['submitdisplay'] ) )&&( $_POST['pwdADMIN']=="admin1986"))
{
    $findm = mysql_query("SELECT idmeasure, vmanufacturer, vmodel, vtype, volume, yearofvehicle, motion, timereact,time_0_18m, 
    time_0_100m, time_0_200m, time_0_300m, time_0_400m, speedexit, time_0_100km, typeoftyre, dmeasure, temperature, sceneryofmeasure, 
    horsepower, vehicleforce, drivername, email, emailappearornot, sitelink, stock, weightofvehicle, videoofvehicle, comments, password  
    FROM measurementofvehicle WHERE approved='NO'");

    echo '<table border="2" style="width: 100%; align: center;" bordercolor="red">';
    $tmpid="";

    while ($row = mysql_fetch_array($findm, MYSQL_NUM))
    {
        echo '<tr>';                   
        echo '<td align="center"><font color="red">';echo $row[0];echo '</font></td>'; 
        $tmpid=$row[0];
        echo '<td align="center"><font color="red">';echo $row[1];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[2];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[3];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[4];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[5];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[6];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[7];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[8];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[9];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[10];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[11];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[12];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[13];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[14];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[15];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[16];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[17];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[18];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[19];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[20];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[21];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[22];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[23];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[24];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[25];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[26];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[27];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[28];echo '</font></td>'; 
        echo '<td align="center"><font color="red">';echo $row[29];echo '</font></td>';  

        $idr = "";

        $getidr = "SELECT fidRtime FROM measurementofvehicle_receiptoftime_receiptofforce_imageofvehicle WHERE fidmeasure='$tmpid'";

        $r1 = mysql_query($getidr)or die(mysql_error());
        while($srow = mysql_fetch_array($r1) )
        { 
            $idr=$srow['fidRtime'];
        }    
        echo "$idr";
        echo "<img src=\"GetImage.php?id=$idsr\">\n";
        echo '</tr>';       
   }        
   echo '</table>';                
}
?>

Я получаю идентификатор изображения из другой таблицы,

$Receiptoftime = "CREATE TABLE Receiptoftime( 
        idRtime INT NOT NULL AUTO_INCREMENT,
        nameRtime VARCHAR(30) NOT NULL,
        typeRtime VARCHAR(30) NOT NULL,
        sizeRtime INT NOT NULL,
        contentRtime MEDIUMBLOB NOT NULL,
        PRIMARY KEY(idRtime)
    ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";

idRtime - это идентификатор, который мне нужен для получения идентификатора из таблицы, в которой хранится изображение.

Эта таблица

$Receiptoftime = "CREATE TABLE Receiptoftime(
        idRtime INT NOT NULL AUTO_INCREMENT,
        nameRtime VARCHAR(30) NOT NULL,
        typeRtime VARCHAR(30) NOT NULL,
        sizeRtime INT NOT NULL,
        contentRtime MEDIUMBLOB NOT NULL,
        PRIMARY KEY(idRtime)
    ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";

Код, который я обнаружил, я вижу, что мне пришлось написать скрипт, который генерирует изображение, а затем использовать тег изображения, чтобы я не мог получить изображение.Сценарий, который генерирует это изображение,

<?php
    error_reporting(0);
    $connect=mysql_connect("localhost","username","password") or die(mysql_error());
    mysql_select_db("dragtimesgr") or die(mysql_error());

    $id=addlashes($_REQUEST['id']);

    $image=mysql_query("SELECT * FROM receiptoftime WHERE idRtime='$id'")or die(mysql_error());
    $image=mysql_fetch_assoc($image);
    $image=$image['contentRtime'];

    header("Content-type: image/jpeg");

    echo $image;
?>

Можете ли вы помочь мне?Единственное, что появляется на экране, это значок, который кажется сломанным.Я не могу понять, что я делаю неправильно.

1 Ответ

0 голосов
/ 21 февраля 2011

Можете ли вы вызвать скрипт изображения напрямую из браузера, например, набрав http://host/path/GetImage.php?id=1 или что-то еще в строке адреса браузера?

(Кроме того, вам нужно исправить этот скрипт, чтобы он не был такимбольшая цель атаки инъекцией!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...