【发布时间】:2018-06-19 07:55:10
【问题描述】:
我必须为我非常接近的一个学校项目创建一个预订系统,但后来出现了这个问题,我无法解决。
所以我希望你们能帮助我:)
这是从数据库(formulier.php)获取数据的PHP代码:
<div id="room1" style="margin-left: 10%;"><br><br>
<img src=”source.php?id=2” width="150" height="150" />
<?php
$query = "SELECT * FROM dt_tb WHERE dt BETWEEN '2004-01-01' AND '2005-01-25'";
/* SELECT * FROM dt_tb WHERE dt BETWEEN BETWEEN '$dt1' AND '$dt2' */
$result = mysqli_query($connect,$query);
if (mysqli_num_rows($result)) {
while($row = $result->fetch_assoc()) {
echo "HERE COMES THE DESCRIPTION ";
echo " check-in: ". $row["dt"] ." | check-out: ". $row["dt2"] ." ";
}
}
else {
echo "An error occured, Please choose another date.";
}
$connect->close();
?>
<br><br><br>
<form method="post" action="#">
<input required type="submit" id="Reserve" name="Reserve" value="Book Now" style="margin-left: 0.4%;">
</form>
<hr style="width: 65%;">
</div>
<div id="room1" style="margin-left: 10%;"><br><br>
<img src=”source2.php?id=1” width="150" height="150" />
<?php
$query2 = "SELECT * FROM dt_tb WHERE dt BETWEEN '2000-01-01' AND '2100-01-25'";
/* SELECT * FROM dt_tb WHERE dt BETWEEN BETWEEN '$dt1' AND '$dt2' */
$result2 = mysqli_query($connect,$query2);
if (mysqli_num_rows($result2)) {
while($row2 = $result2->fetch_assoc()) {
echo "HERE COMES THE DESCRIPTION ";
echo " check-in: ". $row2["dt"] ." | check-out: ". $row2["dt2"] ." ";
}
}
else {
echo "An error occured, Please choose another date.";
}
$connect->close();
?>
<br><br><br>
<form method="post" action="#">
<input required type="submit" id="Reserve" name="Reserve" value="Book Now" style="margin-left: 0.4%;">
</form>
<hr style="width: 65%;">
</div>
这是获取数据库中图片的PHP代码(source.php):
$query = "select * from images WHERE id = 2";
$stmt = $connect->prepare( $query );
$stmt->bindParam(2, $_GET['id']);
$stmt->execute();
$num = $stmt->rowCount();
if( $num ){
$row = $stmt->fetch(PDO::FETCH_ASSOC);
header("Content-type: image/png");
print $row['data'];
exit;
}else{
}
这是第二张图片(source2.php):
$query = "select * from images WHERE id = 1";
$stmt = $connect->prepare( $query );
$stmt->bindParam(1, $_GET['id']);
$stmt->execute();
$num = $stmt->rowCount();
if( $num ){
$row = $stmt->fetch(PDO::FETCH_ASSOC);
header("Content-type: image/png");
print $row['data'];
exit;
}else{
}
这些是数据库:
TABLE IMAGES
========================================
id | name | data
========================================
1 | sample image |[BLOB - 31,9 KiB]
2 | sample image2 |[BLOB - 370,8 KiB]
TABLE DT_TB
========================================
id | dt | dt2
========================================
1 | 2004-10-26 | 2005-01-25
TABLE DT_TB10
========================================
id | dt | dt2
========================================
1 | 2006-01-01 | 2007-01-25
这是结果:https://gyazo.com/e3263b030bd2a367e86d39db262551ba
所以我的问题基本上是 它不会显示数据库中的图像并且 第二个“预订”将显示错误,并且与第一个“预订”的数据不同。
如果有人能帮我解决这个问题,我将不胜感激。
提前致谢。
【问题讨论】:
-
我是一年级学生,所以请善待我的编码技能 :)
-
你是如何存储你的照片的?为什么不存储网址图片。看看 stackoverflow.com/questions/20556773/… 获取 blob 库存
-
图片查询不应该是
$query = "select * from images WHERE id = ?";,而不是硬编码的1吗?如果它以您的方式工作,我会感到惊讶。使用浏览器查看图像,然后查看源代码并将错误处理添加到图像代码中。 -
您已经将图像的来源设置为“source.php?id=2” 将图像保存为 URL 而不是 blob,因为这是图像标签上的 src 属性所期望的得到。
标签: php html mysql sql database