Seite 1 von 1

Abfrage von daten

Verfasst: Fr 03.Feb, 2023 09:23
von Icke
Hallo Leute,

ich habe ein Datenbankproblem mit dem Feld 'name'. Also ich wollte die DB_Abfrage nach dem Feld machen jedoch erscheint da nichts?

Code: Alles auswählen

if(isset($wort))
{
$rau = " WHERE name = $wort ";
}
else{
$rau = " WHERE land = $land_id ";
}

$sql_ = " SELECT * FROM `wracks` $rau "; 
habe ich da einen Fehler gemacht oder was? Kann da jemand helfen?!

Re: Abfrage von daten

Verfasst: Fr 03.Feb, 2023 18:34
von oxpus
$wort ist ein String, daher müsste in der Abfrage dieser auch als solcher angegeben werden.
Also mit ' umschlossen, so wie in diesem Muster:

Code: Alles auswählen

if(isset($wort))
{
	$wort = mysqli_real_escape_string($db, $wort);
	$sql_ = " SELECT * FROM wracks WHERE name = '$wort' ";
}
else
{
	$sql_ = ' SELECT * FROM wracks WHERE land = ' . (int) $land_id;
}
Das ist zudem kürzer, als Deine Schreibweise.
Und dazu wird $land_id strikt als Zahl deklariert und $wort maskiert, um keine Sicherheitslücken aufzureißen.
$db ist dabei die aktuelle Verbindung zur Datenbank und durch Dein verwendetes DB-Objekt zu ersetzen.