浏览器不显示任何内容 - SQL 使用 PHP 查询

Browser doesn't show anything - SQL Query with PHP

我刚开始使用 PHP 和 SQL,我需要这方面的帮助。

<!doctype html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <link href="styles.css" rel="stylesheet">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Holzstern GmbH</title>
  </head>

  <body>
    <div class="left-ctn">
      <header>
        <nav>
          <ul class="navi">
            <li><a href="index.php" title="Holzstern GmbH - Home">Home</a></li>
            <li><a class="active" href="produkte.php" title="Holzstern GmbH - Produkte">Produkte</a></li>
            <li><a href="bestseller.php" title="Holzstern GmbH - Bestseller">Bestseller</a></li>
          </ul>
        </nav>
    </header>
    <h1>unsere Produkte</h1>
  </div>

 <div class="right-ctn">
    <a href="index.php" class="logo" title="Holzstern GmbH">Holzstern GmbH</a>
      <main>
        <?php
          $servername = "localhost";
          $username = "root";
          $password = "";
          $database = "schmuckshop";

          //Verbindung mit Datenbank herstellen
          $connection = new PDO("mysql:host=$servername;dbname=$database;charset=utf8", $username, $password);

          //Anfrage vorbereiten und ausführen
          $query = $connection->prepare("SELECT schmuck.name AS s_name, schmuck.Preis, lieferant.name AS l_name, schmuck.bild, schmuck.schmuckart, schmuck.edelmetall, schmuck.verfuegbarkeit FROM schmuck, lieferant, verkauft WHERE lieferant.l_id = verkauft.l_id and schmuck.s_id = verkauft.s_id ORDER BY schmuck.s_id");
          $query->execute();
          $query->setFetchMode(PDO::FETCH_ASSOC);

          //Ergebnis zeilenweise auslesen
          while($row = $query->fetch()){

              $name = $row['s_name'];
              $preis = $row['Preis'];
              $lieferant = $row['l_name'];
              $bild = $row['bild'];
              $schmuckart = $row['schmuckart'];
              $edelmetall = $row['edelmetall'];
              $verfuegbarkeit = $row['verfuegbarkeit'];

              echo"
                <article class='schmuck'>
                  <div class='ctn-left'>
                    <div class='textDiv'>
                      <p class='name'>$name</p>
                      <p class='schmuckart'><span>Art: </span>$schmuckart</p>
                      <p class='material'><span>Material: </span>$edelmetall</p>
                      <p class='verfuegbarkeit'><span>Auf Lager: </span>$verfuegbarkeit</p>
                      <p class='preis'>$preis &euro;</p>
                    </div>
                     <div class='imgDiv'>
                        <img class='image' src='images/spiele/$bild' alt='Bild'>
                    </div>
                  </div>
                  <div class='ctn-right'>
                    <p class='hersteller'>$lieferant</div>
                  </div>
                </article>
              ";

          }//Ende while-Schleife
        ?> 
       </main>
  </div>
  </body>
</html>

我一直在另一个网站上使用此代码,但现在它似乎不起作用。似乎与数据库的连接有效,但它不会在浏览器中显示任何内容。

谁能看看代码有没有错误? 如果您找不到任何错误,我可能需要再次检查连接,但我现在找不到任何错误。

我对此很陌生,非常感谢任何帮助或建议。

首先检查您的 php 版本。 (要确认 PHP 已安装,您可以在终端中使用 php -v,如果您使用的是 Linux 系统。)

其次,搜索 php.ini 文件并搜索 display_errorerror_reporting 关键字并在下面输入这些参数的值:

display_error=On;
error_reporting=E_ALL;

第三,重新启动您的 Apache 服务器(或 xamp/wamp,如果您正在使用它们)。

如果您的系统中安装了 php,您肯定会知道下一步该往哪里前进。