1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

MySQL mit PHP abfragen und in JSON umwandeln

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Garnet, 01.08.2012.

  1. Garnet, 01.08.2012 #1
    Garnet

    Garnet Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    71
    Erhaltene Danke:
    1
    Registriert seit:
    21.05.2012
    Hallo,

    ich hab das Tutorial hier ausprobiert.
    Aber dazu habe ich ein Problem mit dem php-Skript.

    Es sieht wie folgt aus:
    Code:
    <?php
    mysql_connect("localhost:3307","root","");
    mysql_select_db("newsticker");
     
    $q=mysql_query("SELECT title FROM news");
    $output = array();
    while($e=mysql_fetch_assoc($q))
     $output[]=$e;
     
    print(json_encode($output));
     
    mysql_close();
    ?>
    
    Jedoch liefert das Skript nur [] zurück wenn ich es im Browser aufrufe und über die App bleibt die Liste einfach leer. Ich weiß leider nicht, wo der Fehler liegen soll, da alle PHP-Skripts die ich dazu gefunden habe genauso ausehen. Wäre nett, wenn mir dabei jemand helfen könnte.
     
  2. TheDarkRose, 01.08.2012 #2
    TheDarkRose

    TheDarkRose Gewerbliches Mitglied

    Beiträge:
    1,292
    Erhaltene Danke:
    136
    Registriert seit:
    20.08.2010
    Code:
    <?php
    mysql_connect("localhost:3307","root","");
    mysql_select_db("newsticker");
     
    $q=mysql_query("SELECT title FROM news");
    $output = array();
    while($e=mysql_fetch_assoc($q))
     $output[]=$e[[B]'title'[/B]];
     
    print(json_encode($output));
     
    mysql_close();
    ?>
    
     
    Zuletzt bearbeitet: 01.08.2012
  3. Garnet, 01.08.2012 #3
    Garnet

    Garnet Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    71
    Erhaltene Danke:
    1
    Registriert seit:
    21.05.2012
    Danke, leider hat sich damit aber auch nichts verändert. Es wird immer noch ein leeres Array [] angezeigt und der Bildschirm vom Emu ist schwarz.

    Ich habe einen XAMPP Server für das php Skript zusammen mit einem MYSQL Server für die Datenbank.
     
  4. TheDarkRose, 01.08.2012 #4
    TheDarkRose

    TheDarkRose Gewerbliches Mitglied

    Beiträge:
    1,292
    Erhaltene Danke:
    136
    Registriert seit:
    20.08.2010
    was sagt print_r ob das Array überhaupt gefüllt ist? Und lass solche Kurzschreibweisen im Code

    Code:
    <?php
    mysql_connect("localhost:3307","root","");
    mysql_select_db("newsticker");
     
    $q=mysql_query("SELECT title FROM news");
    $output = array();
    while($e=mysql_fetch_assoc($q)) {
        $output[]=$e[[B]'title'[/B]];
    }
     
    print_r($output);
     
    mysql_close();
    ?>
    
    P.S.: Wenn du dann was produktiv machen willst, solltest du auf jeden Fall von XAMPP Abstand nehmen ;)
     
  5. Garnet, 01.08.2012 #5
    Garnet

    Garnet Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    71
    Erhaltene Danke:
    1
    Registriert seit:
    21.05.2012
    Ok, das hab ich grade ausprobiert. Wenn ich die php Datei aufrufe, gibt er jetzt "Array()" aus.

    Im Emulator kommt folgende Fehlermeldung:
    "error parsing data org.json.jsonexception: a jsonarray text must start with '[' at character 1 of Arrayn (n) n"
     
  6. TheDarkRose, 02.08.2012 #6
    TheDarkRose

    TheDarkRose Gewerbliches Mitglied

    Beiträge:
    1,292
    Erhaltene Danke:
    136
    Registriert seit:
    20.08.2010
    Und du bist sicher, das dein Query Ergebnisse zurückgibt?
     
  7. Garnet, 02.08.2012 #7
    Garnet

    Garnet Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    71
    Erhaltene Danke:
    1
    Registriert seit:
    21.05.2012
    Nein, sicher bin ich mir da nicht, da ich ja nicht weiß, ob das Skript funktioniert.
    Wie kann ich denn überprüfen, ob die Ergebnisse kommen oder nicht und was kann ich da machen, wenn keine kommen?
     
  8. TheDarkRose, 02.08.2012 #8
    TheDarkRose

    TheDarkRose Gewerbliches Mitglied

    Beiträge:
    1,292
    Erhaltene Danke:
    136
    Registriert seit:
    20.08.2010
    Es kommen keine, sonst wäre dein Array nicht leer. Und überprüfen kannst du das, wenn du das Query direkt mal in phpmyadmin ausführst.
     
    Garnet bedankt sich.
  9. Garnet, 03.08.2012 #9
    Garnet

    Garnet Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    71
    Erhaltene Danke:
    1
    Registriert seit:
    21.05.2012
    Habs jetzt den Fehler gefunden. Das Problem war nicht, dass die query nicht funktioniert hat, sondern dass die Datenbank leer auf dem Server lag. Nach Übertragung der Daten hat alles ohne Probleme funktioniert.
    Danke für die Hilfe.
     

Diese Seite empfehlen