Я новичок в работе с 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 €</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_error
а также error_reporting
ключевые слова и поместите ниже значения для этих параметров:
display_error=On;
error_reporting=E_ALL;
В-третьих, перезапустите сервер apache (или xamp / wamp, если вы их используете).
Вы наверняка получите подсказку, куда двигаться дальше, если в вашей системе установлен php.
Других решений пока нет …