【问题标题】:Using PHP how can i display images which have been saved in SQL as a image path使用 PHP 如何将已保存在 SQL 中的图像显示为图像路径
【发布时间】:2023-03-25 06:39:02
【问题描述】:

我正在尝试从我的 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) 。任何建议将不胜感激

【问题讨论】:

  • 你想显示 URL 还是原始图像?
  • 您给出的代码的预期结果是什么?只需从 while 循环中获取 $row['URL'] 即可为您提供 URL,但我仍然不明白循环下方的逻辑与获取 img 路径有何关系?另外,您作为示例定义的查询的第 0 行(第一行)是什么?
  • 你确定条件WHERE img_text LIKE '1'满意吗?
  • Royal Bg - 循环下面的逻辑是应用程序期望的参数,行中的 0 可能可以删除。
  • Rikesh 是的,它得到了满足。

标签: php


【解决方案1】:

您的代码应该不能正常工作。您没有关闭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注入。

【讨论】:

  • if 语句正在关闭,这是一段代码,还有 else 语句可以捕获 $test 的值。
【解决方案2】:

图像在服务器中,所以路径只在那里有效。

如果你这样做:

echo json_encode($result);

我猜你是在向客户端返回这个信息,如果你想显示它们,图像路径在那里没有价值!

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

【讨论】:

  • 感谢 Nary,但是我传递的完整 URL 应该可以工作,这是针对移动应用程序 (iphone) 的。
  • 嗯,我明白了,你得到什么作为 JSON 响应?还是一无所获?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-09
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多