-4

次の php スクリプトで画像が表示されないのはなぜですか。データベース接続がOKで、Mysql QueryもOKであることを確認しました。

PHP コード:

$upload_directory = "uploaded"; //set upload directory

$getimages = mysql_query("SELECT * FROM property_step3 WHERE propertyid =  
'$propertyid' AND active =1 AND uname = '$uname'"); 

$re2 = mysql_fetch_array($getimages)
$images = mysql_real_escape_string(htmlspecialchars(trim($re2['imgname'])));


echo '<img src="$upload_directory/$images" width="98" height="68"  /></a>'; 

たぶん私は間違っています..

一部の人々が私に反対票を投じている理由がわかりません??!!

アップデート:

<?php
 $uname = $_SESSION['uname'];
 $check = mysql_query("SELECT * FROM property_step1 WHERE uname = '$uname' AND active 
 = 1");
 $num = mysql_num_rows($check);

if($num == 0)
{

echo "<h3>You didn't upload any property. Click <a href='publishadvert.php'>here</a> 
to publish your property</h3>";

}
else
{
    echo "<h3>You have $num published property.</h3>";

    echo "<table width='1020' cellpadding='0' cellspacing='0'>";
        echo "<tr>";
    echo "<td class='tabletr3'><b>Property Title</b></td>";
    echo "<td class='tabletr3'><b>Area</b></td>";
    echo "<td class='tabletr3'><b>State</b></td>";
        echo "<td class='tabletr3'><b>City</b></td>";
    echo "<td class='tabletr3'><b>Country</b></td>";            
    echo "<td class='tabletr3'><b>Images</b></td>";         
    echo "<td class='tabletr3'><b>Action</b></td>";         
    echo "</tr>";

    while($re = mysql_fetch_array($check))
    {
$propertyid = (int) $re['propertyid'];  
$country = mysql_real_escape_string(htmlspecialchars(trim($re['pro_country'])));
$state = mysql_real_escape_string(htmlspecialchars(trim($re['pro_state'])));
$area = mysql_real_escape_string(htmlspecialchars(trim($re['pro_area'])));
$city = mysql_real_escape_string(htmlspecialchars(trim($re['pro_city'])));
$title = mysql_real_escape_string(htmlspecialchars(trim($re['pro_title'])));

 $getimages = mysql_query("SELECT * FROM property_step3 WHERE propertyid = 
 '$propertyid' AND active =1 AND uname = '$uname'");

    $upload_directory = dirname(__file__) . '/uploaded/'; //set upload directory    
while($re2 = mysql_fetch_array($getimages))
{
$images = mysql_real_escape_string(htmlspecialchars(trim($re2['imgname'])));
}



        echo "<tr>";
            echo "<td class='tabletr2'>$title</td>";
            echo "<td class='tabletr2'>$country</td>";
            echo "<td class='tabletr2'>$state</td>";
            echo "<td class='tabletr2'>$city</td>";
            echo "<td class='tabletr2'>$area</td>";     
                  echo '<img src="'.$upload_directory.'/'.$images.'" width="98" 
 height="68"  /></a>';      

echo "<td class='tabletr2'><img src='uploaded/$images' 
/></td>";                               
echo "<td class='tabletr2'><a href='editproperty.php?propertyid=$propertyid&
uname=$uname'>Edit</a> | <a href='deleteproperty.php?propertyid=$propertyid'>Delete</a>
</td>";
    echo "</tr>";
    }  
    echo "</table>";

     }
 ?>
4

4 に答える 4

1

間違い 1 : Waqar Alamgir が言ったことですが、より明確です。一重引用符で変数を使用しようとしています。

echo '<img src="$upload_directory/$images" width="98" height="68"  /></a>'; 

出力します

<img src="$upload_directory/$images" width="98" height="68"  /></a>

一方

echo "<img src=\"$upload_directory/$images\" width=\"98\" height=\"68\"  /></a>"; 

また

echo '<img src="'. $upload_directory . '/' . $images .'" width="98" height="68"  /></a>'; 

また

echo '<img src="', $upload_directory, '/', $images, '" width="98" height="68"  /></a>'; 

出力します

<img src="uploaded/theimagename.jpg" width="98" height="68"  /></a>

$images等しい場所theimagename.jpg

間違い 2: (Pankaj Khairnar が発見)

$re2 = mysql_fetch_array($getimages)

セミコロンがありません。これにより、スクリプトが壊れます。

$re2 = mysql_fetch_array($getimages);

間違い 3 (c/o Michael Berkowski)

出力データで mysql_real_escape_string() を呼び出さないでください

于 2012-11-25T15:17:59.823 に答える
0

このように使う

$upload_directory = "uploaded"; //set upload directory
$getimages = mysql_query("SELECT * FROM property_step3 WHERE propertyid =  
'$propertyid' AND active =1 AND uname = '$uname'"); 

$re2 = mysql_fetch_array($getimages);
$images = trim($re2['imgname']);
echo '<img src="'.$upload_directory.'/' .$images. '" width="98" height="68"  /></a>'; 

また ; 最後にあなたの声明に欠けています

$re2 = mysql_fetch_array($getimages)

このようにする必要があります

$re2 = mysql_fetch_array($getimages);
于 2012-11-25T15:00:27.240 に答える
0

単一の ' で変数を使用できない引用符の問題

$upload_directory = "uploaded";
$getimages = mysql_query("SELECT imgname FROM property_step3 WHERE propertyid =  
'$propertyid' AND active =1 AND uname = '$uname'"); 
$re2 = mysql_fetch_assoc($getimages)
$images = $re2['imgname'];
echo 'Debug image: ',$images;

echo '<a href="#"><img src="',$upload_directory,'/',$images,'" width="98" height="68"  /></a>'; 
于 2012-11-25T15:06:09.847 に答える
0

追加のように、画像を表示するには完全なURLが必要な場合があります

http://localhost/.../uploaded/50b11aefaad43font-8.jpg

あなたのマシンのディレクトリ階層がわかりません。

「アップロードされた」フォルダーは htdocs ルート内にあると想定しています。

于 2012-11-25T15:10:45.220 に答える