使用PHP如何显示已作为图像路径保存在SQL中的图像

时间:2013-04-02 10:59:52

标签: php

我正在尝试从我的SQL数据库中检索已使用图像路径保存的图像。图像保存在服务器上。当我检索图像时,不会返回任何内容。

if(isset($_GET))
{
  include_once "mysql_connect.php"; 
  $text = $_GET['text']; 


  if($text=="")
  {

  $query = mysql_query("SELECT `URL` FROM `gallery` WHERE `img_text` LIKE '1'")
  or die(mysql_error());  

  while( $rows=mysql_fetch_array($query) )
  {
   $search[] = $rows[0];

  }

 $result = array();
 $result["result"] = 500;
 $result["message"] = "Database Read Successfully";
 $result["rows"] = $search;
 echo json_encode($result);
 exit; 

代码的示例是在没有用户输入值的情况下进行搜索。在SQL语句中,“URL”是存储图像路径的字段。图像路径值是完整的URL http://example.com/images/test.jpg并存储为VARCHAR(200)。任何建议将不胜感激

2 个答案:

答案 0 :(得分:0)

您的代码不适用。您没有关闭if声明。

此外,当$text不为空时,您对数据库没有任何查询......

您需要以下内容:

if($text==""){
  $query = mysql_query("SELECT `URL` FROM `gallery` WHERE `img_text` LIKE '1'")
  or die(mysql_error());  
}

//when $text is not empty...
else{
  $query = mysql_query("SELECT `URL` FROM `gallery` WHERE `img_text` LIKE '".$text."'")
  or die(mysql_error());  
}

while( $rows=mysql_fetch_array($query)){
    $search[] = $rows[0];
}

顺便说一下,尝试使用PDO而不是mysql_query,最后一个是过时的,容易受到SQL注入的攻击。<​​/ p>

答案 1 :(得分:0)

图像在服务器中,因此路径仅在那里工作。

如果您这样做:

echo json_encode($result);

我猜您要将此信息返回给客户端,如果您想显示它们,那么图片路径没有任何价值!

如果您想向用户显示图片,则需要使用HTML img标记,并使用 FROM THE SERVER 路径填充src属性。