如何使用PHP和SQL将图像添加到表中?

时间:2017-07-10 23:29:19

标签: php sql

我是SQL的新手,PHP希望在搜索数据库中显示图像以及其他结果,这可能吗?有人可以给我任何帮助吗?

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

 <?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';
    }
?>

1 个答案:

答案 0 :(得分:1)

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