php - 尝试使用 PHP 从 2 个数据库获取数据

标签 php html mysql sql database

我必须为一个非常接近的学校项目制作一个预订系统,但后来出现了这个问题,我无法解决。

所以我希望你们能帮助我:)

这是从数据库获取数据的 PHP 代码 (formulier.php):

<div id="room1" style="margin-left: 10%;"><br><br>
    <img src=”source.php?id=2” width="150" height="150" />&nbsp;
    <?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 &nbsp;";
            echo "&nbsp; 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" />&nbsp;
    <?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 &nbsp;";
            echo "&nbsp; 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

所以我的问题基本上是它不会显示数据库中的图像并且 第二个“预订”将显示错误,且数据与第一个“预订”不同。

如果有人能帮助我解决这个问题,我将非常感激。

提前致谢。

最佳答案

大家可以用这个作为例子,但我已经解决了我的问题:)。

你永远不会中途关闭你的 $connection。

$connect->close();

使用了 2 次,但仅在您确实想要关闭与数据库的连接时使用。

至于图像,@Rick Calder 有很好的解释。

感谢您的帮助。

关于php - 尝试使用 PHP 从 2 个数据库获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50923291/

相关文章:

php - 如何获取视频文件的属性?

javascript - 在 Javascript 中,为什么在元素上设置 outerHTML 会将其 parentNode 设置为 'null' ?

php - 在 MySQL SELECT 中比较具有多个值的相同字段

java - 将 java.time.LocalDateTime SE 8 转换为时间戳

javascript - JSON返回值到全局变量

php - Wordpress 网站中的 fatal error : Class 'DOMDocument' not found,

php - 通过JSON、Jquery和PHP动态显示MYSQL表数据

javascript - jQuery:样式悬停在 parents() 和 children() 上

html - 我怎样才能让我的主图片覆盖下面的 header 广告和按钮部分

mysql - SQL 查询返回异常大的计数