PHP-Code:
<?php error_reporting(E_ALL);
$db_host = "";
$db_user = "";
$db_pass = "";
$db_name = "";
$abf = false;
if (isset($_POST["search"])) {
echo "<p><br /></p><hr />Check 1/3<hr />";
$sql = mysqli_connect($db_host, $db_user, $db_pass, $db_name)
or die("Die Datenbank konnte nicht erreicht werden!");
$abf= "SELECT * FROM ... WHERE 1=1 ";
if (isset($_POST["vname"])) {
$abf .= " AND `vname`= '" . mysqli_real_escape_string($_POST['vname']) . "'";
}
else {echo "Fehler 1/5";}
if (isset($_POST["nname"])) {
$abf .= " AND `nname`= '" . mysqli_real_escape_string($_POST['nname']) . "'";
}
else {echo "Fehler 2/5";}
if (isset($_POST["strnr"])) {
$abf .= " AND `strnr`= '" . mysqli_real_escape_string($_POST['strnr']) . "'";
}
else {echo "Fehler 3/5";}
if (isset($_POST["plz"])) {
$abf .= " AND `plz`= '" . mysqli_real_escape_string($_POST['plz']) . "'";
}
else {echo "Fehler 4/5";}
if (isset($_POST["ort"])) {
$abf .= " AND `ort`= '" . mysqli_real_escape_string($_POST['ort']) . "'";
}
else {echo "Fehler 5/5";}
if ($sql != false and $abf != false) {
echo "<hr />Check 2/3<hr />";
if ($result = mysqli_query($sql, $abf)) {
echo "<hr />Check 3/3<hr /><p><br /></p>";
$anzahl = mysqli_num_rows($result);
echo "<p>Es wurden <strong>".$anzahl."</strong> Datensätze gefunden!</p>\n";
echo "<table border=\"1\">\n".
"<tr><th>Vorname</th><th>Nachname</th><th>Straße / Nr.</th><th>PLZ</th><th>Ort</th>\n";
while ($datensatz = mysqli_fetch_assoc($result)) {
echo "<tr>".
"<td>" .htmlspecialchars($datensatz["vname"])."</td>".
"<td>" .htmlspecialchars($datensatz["nname"])."</td>".
"<td>" .htmlspecialchars($datensatz["strnr"])."</td>".
"<td>" .htmlspecialchars($datensatz["plz"])."</td>".
"<td>" .htmlspecialchars($datensatz["ort"])."</td>".
"</tr>\n";
}
mysqli_free_result($result);
echo "</table>\n";
}
else
{
echo mysqli_error($sql);
echo "<hr />".$abf;
}
mysqli_close($sql);
}
else {echo "Es wurden keine verwertbaren Daten vom Formular übermittelt.\n";}
}
?>
1. Ja, das ist eins zu eins das Script, das ich verwende und
2. Nein, die drei Punkte stehen nicht so im Script (dort stehen die dafür vorgesehenen Werte)
Wäre nett, wenn noch jemand eine aufbauende Idee hätte. Meine Vermutung? Es liegt hier:
PHP-Code:
$abf= "SELECT * FROM ... WHERE 1=1 ";
if (isset($_POST["vname"])) {
$abf .= " AND `vname`= '" . mysqli_real_escape_string($_POST['vname']) . "'";
}
else {echo "Fehler 1/5";}
if (isset($_POST["nname"])) {
$abf .= " AND `nname`= '" . mysqli_real_escape_string($_POST['nname']) . "'";
}
else {echo "Fehler 2/5";}
if (isset($_POST["strnr"])) {
$abf .= " AND `strnr`= '" . mysqli_real_escape_string($_POST['strnr']) . "'";
}
else {echo "Fehler 3/5";}
if (isset($_POST["plz"])) {
$abf .= " AND `plz`= '" . mysqli_real_escape_string($_POST['plz']) . "'";
}
else {echo "Fehler 4/5";}
if (isset($_POST["ort"])) {
$abf .= " AND `ort`= '" . mysqli_real_escape_string($_POST['ort']) . "'";
}
else {echo "Fehler 5/5";}
Hinweis: Die Passage mit
PHP-Code:
$abf= "SELECT * FROM ... WHERE 1=1 ";
Bitte um Hilfe! Ich verzweifle hier!
Kommentar