如何引用MySQL表中目录中存储的图像?

如何引用MySQL表中目录中存储的图像?,mysql,sql,database,Mysql,Sql,Database,我有一组png图像(16x16)存储在我的web服务器上的文件夹中。路径:c:/wamp/www/website/images/flags。这些图像代表了世界各国的不同旗帜 当我通过PHP脚本在表中输出国家列表及其各自的标志时,我希望能够动态访问这些图像 在我的数据库中,我创建了下表 CREATE TABLE country ( ID INT UNSIGNED NOT NULL AUTO_INCREMENT, countryCode CHAR(2) NOT NULL, countr

我有一组png图像(16x16)存储在我的web服务器上的文件夹中。路径:c:/wamp/www/website/images/flags。这些图像代表了世界各国的不同旗帜

当我通过PHP脚本在表中输出国家列表及其各自的标志时,我希望能够动态访问这些图像

在我的数据库中,我创建了下表

CREATE TABLE country (
  ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
  countryCode CHAR(2) NOT NULL, 
  countryName VARCHAR (50) NOT NULL,
  phoneCode CHAR (3) NOT NULL, 
  imagePathName VARCHAR (254) NOT NULL,
  PRIMARY KEY(ID)
) ENGINE = InnoDB;
在这种情况下,图像引用是如何工作的?我是否像任何CSS或HTML一样存储路径

如果必须存储路径,是否只需按以下形式添加路径:

INSERT INTO country VALUES ('', 'CD', 
'Democratic Republic of Congo, '243',   'c:/wamp/www/website/images/flags/cd.png')

或者我必须有一个BLOB数据类型的列。如果是这样,INSERT语句会是什么样子?

我的建议如下

1不在我的sql数据库中存储图像。它将增加数据库大小(页面计数),并影响数据库性能

2在配置文件(PHP)中存储图像文件夹路径

3在数据库表中仅存储图像名称或id,使用应用程序可以组合名称+路径并获得完整的图像路径


我认为按照马赫什的建议,这对你来说是有意义的:

这是密码

<?php
$dbc = mysqli_connect('127.0.0.1','root','','fortesting') or die (mysqli_error($dbc)); 

$query = "SELECT countryCode AS 'Code', countryName AS 'Name', filename AS 'Flag' 
FROM country";

$execute = mysqli_query($dbc, $query);
?>
<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <table>
        <?php while ($result = mysqli_fetch_array($execute)){ ?>
            <tr>
                <td><?php echo $result['Name'] ?> </td>
                <td><img src="images/flags/<?php echo $result['Flag']?>.png"></td>
            </tr>
        <?php } ?>
        </table>
    </body>
</html>
while()循环显示MySQL表的内容

在HTML表格的第一列中,国家名称通过以下方式显示:

<td><?php echo $result['Name'] ?> </td>

在HTML表格的第二列中,表示该国家的标志的文件名打印在URL链接中:

<td><img src="images/flags/<?php echo $result['Flag']?>.png"></td>
.png>

国家和国旗的名称是动态显示的。这正是我所需要的。

如果你存储的是路径,你应该能够像存储其他字符串一样存储它,如果你存储的是实际图像,你只需要一个BLOB。换句话说,“是”BLOB,中文本和大文本数据类型会降低数据库性能。你知道吗sh.我有一个想法,我可以通过在数据库中保存图像名称来解决这个问题。我会在完成后发布最终结果。@Broda man是的,请将其添加为答案,这将帮助其他人了解我是一名数据库工程师,所以我从数据库端给出了一些建议,但不是应用程序端
<td><img src="images/flags/<?php echo $result['Flag']?>.png"></td>