【问题标题】:Browser doesn't show anything - SQL Query with PHP浏览器不显示任何内容 - 使用 PHP 进行 SQL 查询
【发布时间】:2018-11-16 11:28:37
【问题描述】:

我是使用 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>

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

任何人都可以查看代码以查看是否有任何错误? 如果你找不到任何我可能不得不再次检查加入但我现在找不到任何错误。

我真的很陌生,如果有任何帮助或建议,我将不胜感激。

【问题讨论】:

  • 什么都不显示?你的意思是,浏览器中什么都没有,没有 html,zilch?还是您的 html 缺少您认为应该显示的内容?
  • 如果您的页面是空白的并且没有显示错误,那么您需要在 PHP 和 MySQL 中启用错误报告。 (您可以在没有错误报告的情况下使用 PHP 进行开发 - 否则,您将完全失明,而我们所做的只是猜测)。看到这个问题/答案:stackoverflow.com/questions/1053424/… - 另外,我强烈猜测它是 PDO 连接(你说它看起来很好,但不要解释为什么) - 所以我另外建议你做一些尝试/捕获,如图所示这里:stackoverflow.com/a/6263868/870729
  • 另外,最好的数据库名称 ;)
  • "似乎与数据库的连接正常" 你做了什么调试来确认这一点?
  • 一切正常,唯一的问题是您的查询,运行一个简单的Select * from a_table 查询应该可以工作,然后调试您当前的查询。如上所述,在 PHP 中启用错误报告。

标签: php mysql no-response


【解决方案1】:

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

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

display_error=On;
error_reporting=E_ALL;

第三,重启你的 apache 服务器(或者 xamp/wamp,如果你正在使用它们)。

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

【讨论】:

  • 这是一条评论,它并不试图真正回答这个问题。当你有足够的声望时,你将有能力发布 cmets。同时,请不要发布 cmets 作为答案,因为这可能会被否决,从而延长您建立声誉的时间。
猜你喜欢
  • 2017-02-07
  • 2018-03-19
  • 2014-10-29
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多