Ausgabe aus der DB leer

  • 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:

    Bild aus DE.sql:

    siehe Bild im Anhang

  • Ich sehe keinen Fehler.

    Evtl sind die Parameter schuld.

    Mach doch mal ein var_dump auf $plz und $wohnort.


    Du bekommst keinen Fehler, sondern ein leeres array. Das sollte im Normalfall bedeuten, dass es keine Rows gibt, auf die die WHERE-Bedingung zutrifft.

  • Hey,


    ja ich erkenne auch nichts falsches. Und wenn ich ein var_dump auf beide variablen mache wird auch die Eingabe ausgegeben.

    Diese sind also schon vorhanden. Und beim execute gibt der mir auch ein bool(true) zurück. Das heißt, dass alles auch richtig ausgeführt wurde.


    Nur es wird immernoch nix aus der DB gezogen.


    Ich verstehe es nicht. Ich habe nach der Anleitung zuerst die opengeodb-begin.sql dann de DE.sql und zum Schluss dann die opengeodb-end.sql importiert. Und wie man auf dem Screenshot von meinem 1.sten Beitrag sieht, ist Heidelberg ja in der DE.sql drin.


    Warum wird es dann nicht gefunden.... ?

  • Mir ist nicht klar, wie du es schaffst, dass es keine Fehlermeldung gibt, wenn du die Verbindung ohne Benutzer herstellen willst. Ich habe das mal versucht nachzubauen, aber ohne Angabe des Benutzer lande ich immer bei Access denied.

  • Hey,


    habe es nun hinbekommen. Habe die falsche spalte im where statement genommen.

    Zitat

    Jav :
    Mir ist nicht klar, wie du es schaffst, dass es keine Fehlermeldung gibt, wenn du die Verbindung ohne Benutzer herstellen willst.

    Was meinst du damit?


    Du musst einfach die 3 sqls in deine db importieren. Und dann kannst du mit den Abfragen beginnen.


    Mir ist was sehr schlechtes aufgefallen. Es gibt auch z.b. Stadtkreise, die den selben namen haben wie die Stadt selbst, die aber eine andere loc id haben.

    Jetzt fällt bei vielen die vergleichung per loc id weg. Aber ich brauche die loc id, denn diese ist für jede Stadt/jeden Ort eindeutig.

  • Ich meinte dies hier:


    Code
    $dbv = new PDO("mysql:host=127.0.0.1;dbname=stef97;charset=utf8","", "", [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

    Du gibst keinen Benutzer an. Das gibt bei mir immer eine Fehlermeldung. Daher wundert mich, dass dein Script soweit gekommen ist, dass die Abfrage ausgeführt wird.

  • Ja. Die OpenGeoDB ist doch nicht, dass was ich suche. Ich suche eine DB oder ein sql welche alle Städte mit deren PLZ bereitstellt, mehr brauch ich nicht.


    Aber in der OpenGeoDB sind auch noch Landkreise, Stadtkreise, Bundesländer drin. Und viele Davon heißen auch so wie eine Stadt. Somit kommt es dann zu falschen Ergebnissen.


    Ich schau mal weiter nach einer bessern Lösung.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!