Hey,
ich habe mit die OpenGeoDB nun importiert um wohnort und plz zu vergleich, ob diese zusammenpassen.
Nun führe ich ein Select-Statement aus und Ziehe alle gefundenen Reihen. Aber wenn ich dann dies ausgeben will kommt immer array(0);
Ich kann mir nicht erklären warum, denn in der importierten SQL (DE.sql) ist der Name sowie die PLZ die ich eingegeben habe vorhanden.
Z.B. ich gebe Heidelberg ein und 69115, dann sollte die DB doch mir die spalte loc_id sowie text_val ausgeben. Mir wird aber nix ausgegeben.
Mein Script:
PHP
public function controllLivingData($wohnort, $plz){
try{
//Daten filtern
$wohnort = filter_var($wohnort, FILTER_SANITIZE_STRING);
$plz = filter_var($plz, FILTER_SANITIZE_NUMBER_INT);
//db verbindung herstellen
$dbv = new PDO("mysql:host=127.0.0.1;dbname=stef97;charset=utf8","", "", [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
//Select-Statement ausführen für die PLZ
$stmt = $dbv->prepare("SELECT loc_id, text_val FROM geodb_textdata WHERE loc_id = :plz OR text_val = :wohnort");
$stmt->execute(
array(
":plz" => $plz,
":wohnort" => $wohnort
)
);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($rows);
} catch(Exception $e){
error_log($e->getMessage() . "\r\n", 3 , "errorlog.txt");
echo "Es ist folgender Fehler augetreten:" . $e->getMessage();
//exit();
}
}
Alles anzeigen
Bild aus DE.sql:
siehe Bild im Anhang