Hejka
Mam problem takiego typu, że chcę wypisać na stronie waluty z danego kontynentu poprzez wybranie odpowiedniej opcji w selekcie i nie wiem w jaki sposób to przekazać aby dobrze się to odczytało. Przy wartości domyślnej ("wszystkie") wszystko wyświetla się poprawnie, lecz przy wyborze jakiegokolwiek kontynentu wyskakuje błąd.
<form method="post">
<select name="wybor_kontynentu">
<?php
echo '<option value="wszystkie">Wszystkie</option>';
$rezultat = $polaczenie->query("SELECT DISTINCT kontynent FROM waluta");
while ($row = mysqli_fetch_assoc($rezultat)) {
echo '<option value="' . $row['kontynent'] . '">';
if ($row['kontynent'] == "AM_N") {
echo 'Ameryka Północna';
} elseif ($row['kontynent'] == "AM_S") {
echo 'Ameryka Południowa';
} elseif ($row['kontynent'] == "EUROPA") {
echo 'Europa';
} elseif ($row['kontynent'] == "AZJA") {
echo 'Azja';
} elseif ($row['kontynent'] == "OCEANIA") {
echo 'Oceania';
} elseif ($row['kontynent'] == "AFRYKA") {
echo 'Afryka';
}
echo '</option>';
}
?>
</select>
<input type="submit" name="refresh" value="Odśwież"/>
</form>
No i miejsce wypisywania w tabeli:
if (isset($_POST['refresh'])) {
$value = $_POST['wybor_kontynentu'];
if ($value == "wszystkie") {
$rezultat = $polaczenie->query("SELECT * FROM waluta");
} else {
$rezultat = $polaczenie->query("SELECT * FROM waluta WHERE KONTYNENT=".$value);
echo var_dump($rezultat);
echo '</br>';
echo var_dump($value);
}
if (!$rezultat) {
throw new Exception($polaczenie->error);
} else {
// wypisywanie whilem tabeli
}
}
a na stronie wyskakuje mi taki błąd:
bool(false)
string(4) "AM_N"
Fatal error: Uncaught Exception: Unknown column 'AM_N' in 'where clause' in C:\xampp\htdocs\Projektowanie-Aplikacji-Internetowych\waluty.php:88 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Projektowanie-Aplikacji-Internetowych\waluty.php on line 88
A linia 88 to wyrzucenie błędu:
throw new Exception($polaczenie->error);
A jak w bazie dałem zapytanie:
SELECT * FROM waluta WHERE kontynent= 'AM_N'
wszystko gładko poszło :(