【问题标题】:PHP localhost page doesn't load when include_once is in the file当 include_once 在文件中时,PHP localhost 页面不加载
【发布时间】:2021-02-22 20:02:30
【问题描述】:

所以我正在关注YouTube 上的 PHP/SQL 教程,这是我在“index.php”文件中的代码:

<?php
    include_once 'includes\dbh.php';
  ?>

<!DOCTYPE html>\
<html>
<head>
    <title>Coupons</title>
</head>
<body>

<?php
    $sql = "SELECT * FROM users;";
    $results = mysqli_query($conn, $sql);
    $resultCheck = mysqli_num_rows($result);

    if($resultCheck > 0){
        while($row = mysqli_fetch_assoc($result)){
            echo $row['ID'];
        }
    }
?>

</body>
</html>

这是我在“dbh.php”文件中的代码:

<?php

$dbServername = "localhost:8080";
$dbUsername = "root";
$dbPassword = "";
$dbName = "coupons";

$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);

?>

现在我的问题是索引文件中的第一组 PHP 代码,包含一次,导致页面永远不会加载。如果我把那部分拿出来,页面就会加载。所有目录路径都正确,所有代码与视频中的完全相同,所有数据库和表都正确存在,所以我不明白为什么页面无法加载。

【问题讨论】:

  • 更改斜杠包含include_once 'includes/dbh.php';
  • 如果更改斜线没有帮助:您尝试过什么调试问题?
  • 启用您的 php 页面中的所有错误:ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
  • 因为不同的操作系统有不同的目录分隔符。在 Windows 中是 \ 在 Linux 中是 /。 DIRECTORY_SEPARATOR 与该操作系统目录分隔符保持一致。每次在路径中使用它。取自stackoverflow.com/questions/26881333/…
  • 页面的标题是否显示为Title?我猜你的连接有错误。直接在您的网络浏览器中调用 dbh.php 文件并使用一些错误检查来使与数据库的连接正常工作。

标签: php html mysql sql


【解决方案1】:

使用

$mysqli = new mysqli($dbServername, $dbUsername, $dbPassword, $dbName);
if ($mysqli -> connect_errno) {
   echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
   exit();
}

查看错误

它的作用是它不会在连接失败时使您的应用程序崩溃并向您报告错误。

【讨论】:

  • 请在您的答案中添加一些解释,以便其他人可以从中学习。那个代码有什么作用?是什么让您认为完成渲染那个简单的页面很有帮助?
  • 明确一点,这是放在 index.php 文件中还是放在 dbh.php 中?
  • 进入 dbh.php,稍后使用连接。
【解决方案2】:

试试这个 在 dbh.php 中

 <?php
    $dbServername = "localhost";//made change
    $dbUsername = "root";
    $dbPassword = "";
    $dbName = "coupons";
    $conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);
    ?>

在 index.php 中

    <?php
    include_once 'includes/dbh.php';//made change
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Coupons</title>
    </head>
    <body>
    
    <?php
        $sql = "SELECT * FROM users;";
        $results = mysqli_query($conn,$sql);
        $resultCheck = mysqli_num_rows($results);//made change
    
        if($resultCheck > 0){
            while($row = mysqli_fetch_assoc($results)){
                echo $row['ID'];
            }
        }
    ?>
    
    </body>
    </html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    相关资源
    最近更新 更多