Hallöchen, ich hoffe mal, das ich auf diesen Wege Hilfe für mein Schulprojekt finde, da ich nicht mehr weiter weiß.
Prinzipiell geht es um das erstellen einer Datenbank, aus der daten über ein Tier (Größe, Nahrung) ausgelesen werden, wenn man die Tierklasse angibt. Wenn ich jedoch z.B. Wildschwein eingebe, kommt es zum Fehler:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '??e, tier.Lebensdauer FROM tier, tierart WHERE tierart.tierart = 'Wildschwein...' at line 1 in C:\xampp\htdocs\recherche.php:31 Stack trace: #0 C:\xampp\htdocs\recherche.php(31): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\recherche.php on line 31
Hier mein Code
Danke schonmal
Prinzipiell geht es um das erstellen einer Datenbank, aus der daten über ein Tier (Größe, Nahrung) ausgelesen werden, wenn man die Tierklasse angibt. Wenn ich jedoch z.B. Wildschwein eingebe, kommt es zum Fehler:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '??e, tier.Lebensdauer FROM tier, tierart WHERE tierart.tierart = 'Wildschwein...' at line 1 in C:\xampp\htdocs\recherche.php:31 Stack trace: #0 C:\xampp\htdocs\recherche.php(31): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\recherche.php on line 31
Hier mein Code
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<link type="text/css" rel="stylesheet" href="pankow.css">
</head>
<body>
<div id="oben">
<div id="logo">
<img class="logo" src="logo.png" alt="" border="0" width="150" height="70">
</div>
<div id="titel">
<ul>
<a href="index.html" class="links">Start</a>
<a href="recherche.html" class="links">Recherche</a>
</ul>
</div>
</div>
<div id="main">
<?php
$species = isset($_POST['tierklasse']) && !empty($_POST['tierklasse']) ? ucfirst($_POST['tierklasse']) : '';
$db = new PDO('mysql:host=localhost;dbname=tierpark', 'root', '');
$sql = $db->prepare('SELECT tier.name, tier.Größe, tier.Lebensdauer FROM tier, tierart WHERE tierart.tierart = ? AND tierart.tierart_ID = tier.f_tierart_ID;');
$sql->execute(array($species));
$animals = $sql->fetchAll();
if ($animals != false) { ?>
<table class='ergbenis'>
<tr>
<td>Name</td>
<td>Größe</td>
<td>Alter</td>
</tr>
<?php foreach ($animals as $animal) { ?>
<tr>
<td><?= $animal['name'] ?></td>
<td><?= $animal['Größe'] ?> cm</td>
<td><?= $animal['Lebensdauer'] ?> Jahre</td>
</tr>
<?php } ?>
</table>
Es wurde(n) <?= count($animals) ?> Tier(e) der Tierklasse <i><?= $species ?></i> gefunden.
<?php }
if ($animals == false) { ?>
Keine zulässige Tierklasse eingegeben. Versuchen Sie es nochmal.
<?php } ?>
</div>
Danke schonmal