首先,我想知道如何使用图像的路径在PHP中显示图像?不使用BLOB。
和
我的数据库中有一张表,这是以这种方式布局的。
列:i1 i2 i3 i4 i5 i6 i7 i8
每个字段都有一个值或为空。
我基本上想根据i1 i2 i3 i4中的内容显示i5 i6 i7 i8的值。
例如:
i1 = a i2 = b i3 = e i4 = q i5 = g i6 = l i7 = i8 =
对于这种情况,我希望显示g和l。但我希望将值存储在数组中。
我尝试过:
$list = array(g,l)
$query = " SELECT i5, i6, i7, i8 FROM Table WHERE i1 AND i2 AND i3 AND i4 IN ('$list') ";
$s = mysql_query($query);
while($data = mysql_fetch_array($s)){
$r_1 = $data['i5'];
$r_2 = $data['i6'];
$r_3 = $data['i7'];
$r_4 = $data['i8'];
}
echo "$r_1 $r_2 $r_3 $r_4"`
即使我$list[0]
帮助将不胜感激。感谢
答案 0 :(得分:2)
首先,我想知道如何使用图像的路径在PHP中显示图像?不使用BLOB。
您不以PhP显示图像,而是以html显示。如果你有了这条路径,那么只需在html中生成一个img标签,并将src属性设置为path:
<img src="whatever your path is" alt="My Image" />
Blob用于直接在数据库中存储图像(实际上是大二进制数据,图像,电影......)。
答案 1 :(得分:0)
$s = mysql_query($query);
while($data = mysql_fetch_array($s)){
您不会检查查询过程中是否有错误。来自the documentation for mysql_query
:
对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,mysql_query()会在成功时返回资源,或者在出错时返回FALSE。
所以:
$s = mysql_query($query);
if($s === FALSE) {
// Do something to handle the error here, possibly calling die()
}
下一个问题,如果没有结果怎么办?你的变量都是空的。你可以测试一下:
if(empty($r_1)) {
echo "Oops, I guess we didn't get any results";
// die()?
}
如果我们获得多行结果怎么办?我不确定你的程序应该如何处理这个问题。
最后,我认为您的SQL查询没有按照您的想法进行:
SELECT i5, i6, i7, i8 FROM Table WHERE i1 AND i2 AND i3 AND i4 IN ('$list')
i5
为真,i6
为真,i7
为i8
,i1
,i2
和i3
1}}为真,i4
等于字符串$list
。如果要查找列表中所有列表的结果,则需要执行多个IN
语句,并且需要将$list
作为列表而不是字符串传递。您可以看到this answer有关如何构造查询字符串以将列表传递给MySQL的信息。
另请注意,mysql_*
函数已弃用,您应该学会使用PDO或mysqli_*
函数。这不会花费太多时间,并且使用它们可以更轻松地安全地访问数据库。