2017-07-10 79 views
0

我对SQL很陌生,PHP想要在搜索数据库中显示图像以及其他结果,这可能吗?谁能为我提供任何帮助?如何使用PHP和SQL将图像添加到表中?

正如我所说,我对编码非常陌生,并且正在努力挣扎。

<?php 
//load database connection 
$host = "localhost"; 
$user = "root"; 
$password = "root"; 
$database_name = "catalog"; 
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, 
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION 
)); 
// Search from MySQL database table 
$search=$_POST['search']; 
$query = $pdo->prepare("select * from catalog.final_dog_catologue_full where 
name LIKE '%$search%' OR Brand LIKE '%$search%' LIMIT 0 , 1000"); 
$query->bindValue(1, "%$search%", PDO::PARAM_STR); 
$query->execute(); 
// Display search result 
    if (!$query->rowCount() == 0) { 
      echo "Search found :<br/>"; 
      echo "<table style=\"font-family:arial;color:#333333;\">"; 
      echo "<tr><td style=\"border-style:solid;border- 
width:1px;border-color:#98bf21;background:#98bf21;\">Name</td><td 
style=\"border-style:solid;border-width:1px;border- 
color:#98bf21;background:#98bf21;\">Brand</td><td style=\"border- 
style:solid;border-width:1px;border- 
color:#98bf21;background:#98bf21;\">Price</td><td style=\"border- 
style:solid;border-width:1px;border- 
color:#98bf21;background:#98bf21;\">Category</td><td style=\"border- 
style:solid;border-width:1px;border- 
color:#98bf21;background:#98bf21;\">Animal</td></tr>";    
     while ($results = $query->fetch()) { 
      echo "<tr><td style=\"border-style:solid;border- 
width:1px;border-color:#98bf21;\">";    
      echo $results['Name']; 
      echo "</td><td style=\"border-style:solid;border- 
width:1px;border-color:#98bf21;\">"; 
      echo $results['Brand']; 
      echo "</td><td style=\"border-style:solid;border- 
width:1px;border-color:#98bf21;\">"; 
      echo "£".$results['Retail_Price_With_Delievery']; 
      echo "</td><td style=\"border-style:solid;border- 
width:1px;border-color:#98bf21;\">"; 
      echo $results['Catogary']; 
      echo "</td><td style=\"border-style:solid;border- 
width:1px;border-color:#98bf21;\">"; 
      echo $results['Animal']; 
      echo "</td></tr>"; 
     } 
      echo "</table>";   
    } else { 
     echo 'Nothing found'; 
    } 
?> 
+0

这是绝对可能的,因为你不是将图像**插入到数据库中,而是简单地从数据库中回显数据**。只需将图像与表格的其余部分一起回显出来;图像只是HTML。 –

+0

正如我所说,我对编码非常陌生,并且在如何/在哪里添加创建“echo”的行来挣扎,这将允许我在显示的表中显示图片。 –

回答

1

通常有两种方法将图像存储在“数据库”中。一个是将它们存储为一个blob。基本上这是将文件存储为数据库链接的服务器。这使得你的数据库变得非常快而且很慢。更好的方法是将文件的路径存储在数据库中,并从数据库条目中简单地获取您要导入的文件。如果两个文件具有相同的名称,则可能会有问题。所以一般来说,你分配一个数据库标识值的文件,保留其数据库中的文件名。但是把它写到像IdentityValue.xyz之类的东西上。你不使用普通的sql来获取图像文件到数据库中。你必须使用特殊的方法blob(二进制大对象块)。

相关问题