Браузер ничего не показывает - SQL-запрос с PHP - PullRequest
0 голосов
/ 06 июня 2018

Я новичок в работе с 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>

Я работал с этим кодом на другом веб-сайте, но теперь он, похоже, не работает.Кажется, что связь с базой данных работает, но она ничего не показывает в браузере.

Может кто-нибудь взглянуть на код, чтобы увидеть, есть ли ошибки?Если вы не можете найти ничего, мне, возможно, придется проверить объединение снова, но я не могу найти никаких ошибок.

Я действительно новичок в этом, и я был бы очень признателен за любую помощь или совет.

1 Ответ

0 голосов
/ 06 июня 2018

Прежде всего, проверьте свою версию PHP.(Чтобы подтвердить, что PHP установлен, вы можете использовать php -v в терминале, если вы работаете в системе Linux.)

Во-вторых, найдите файл php.ini и найдите ключевые слова display_error и error_reportingи укажите ниже значения этих параметров:

display_error=On;
error_reporting=E_ALL;

В-третьих, перезапустите сервер apache (или xamp / wamp, если вы их используете).

Вы непременно получите подсказку, гдедвигаться вперед, если в вашей системе установлен php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...