SQL ABfrage

  • 5 Antworten
  • Letztes Antwortdatum
Z

zulu23

Neues Mitglied
0
Hallo zusammen,
ICh versuche gerade ein paar Werte von meiner SQL Datenbank abzufrage. Ich habe zu test zwecken den WAMP Server installiert. Ich habe dort meine Datenbank angelegt und Werte eingefügt.
Ich möchte einen Wert als rückgabewert, dafür gebe ich einen Index ein und ich möchte den gesepeicherten Wert zu diesem Index.

Nun bei der Abfrage kann ich mich zwar einloggen aber dann kommt ein Fehler:
Code:
 org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
Der Empfangene Stream sieht folgendermassen aus:
Code:
E/pass 1(2059): connection success <br /><font size='1'><table 
class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' 
cellpadding='1'><tr><th align='left' bgcolor='#f57900' colspan="5"><span 
style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! 
)</span> Notice: Use of undefined constant name - assumed 'name' in 
C:\wamp\www\android_test\select.php on line <i>19</i></th></tr><tr><th 
align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr><tr><th 
align='center' bgcolor='#eeeeec'>#</th><th align='left' 
bgcolor='#eeeeec'>Time</th><th align='left' 
bgcolor='#eeeeec'>Memory</th><th align='left' 
bgcolor='#eeeeec'>Function</th><th align='left' 
bgcolor='#eeeeec'>Location</th></tr><tr><td bgcolor='#eeeeec' 
align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0000</td><td 
bgcolor='#eeeeec' align='right'>142528</td><td bgcolor='#eeeeec'>{main}(
  )</td><td title='C:\wamp\www\android_test\select.php' 
bgcolor='#eeeeec'>..\select.php<b>:</b>0</td></tr></table></font><br 
/><font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' 
cellspacing='0' cellpadding='1'><tr><th align='left' bgcolor='#f57900' 
colspan="5"><span style='background-color: #cc0000; color: #fce94f; 
font-size: x-large;'>( ! )</span> Notice: Use of undefined constant name - 
assumed 'name' in C:\wamp\www\android_test\select.php on line <i>19</i>
</th></tr><tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call 
Stack</th></tr><tr><th align='center' bgcolor='#eeeeec'>#</th><th 
align='left' bgcolor='#eeeeec'>Time</th><th align='left' 
bgcolor='#eeeeec'>Memory</th><th align='left' 
bgcolor='#eeeeec'>Function</th><th align='left' 
bgcolor='#eeeeec'>Location</th></tr><tr><td bgcolor='#eeeeec' 
align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0000</td><td 
bgcolor='#eeeeec' align='right'>142528</td><td bgcolor='#eeeeec'>{main}( 
 )</td><td title='C:\wamp\www\android_test\select.php' 
bgcolor='#eeeeec'>..\select.php<b>:</b>0</td></tr></table></font>
{"name":"name11"}
Was ich möchte ist aus der Tabelle den "name" vom eingegebenen Index.
Hier wäre "name11" mein gewünschtes Resultat.
Wie ich das verstehe kann er den Wert aus der Datenbank auslesen aber beim konvertieren geht was schief...

Kann mir da vielleicht einer auf die Sprünge helfen?

Gruss
zulu23
 
Ruf dein Php-Skript mal im Firefox auf deinem Rechner auf. Das scheint einen Fehler zu werfen und deine Antwort in der App ist dann entsprechend nur die HTML-Seite...
 
ja bekomme ich..siehe grafik. Aber über den Firefox kann ich ja auch keinen Wert für den "id" übergeben.

Seltsam irgendwie....
 

Anhänge

  • ScreenShot001.jpg
    ScreenShot001.jpg
    2,1 KB · Aufrufe: 218
Jetzt vergleich aber mal den HTML-Quelltext mit dem deines Streams, dann sollte dir auffallen, dass das Skript entweder seitens dir falsch aufgerufen wird oder garnicht erst funktioniert ...
 
hmmm gut über den Firefox wird es nicht richtig aufgerufen da ja keine Paramenter übergeben werden("id")...
Ich komme immer bis "pass 2" und dann kommt "faile 3"...
Sollte doch richtig übergeben sein im Async Task?
Code:
public void einzel_abfrage() {
         id = "1";
         url = "http://192.168.1.41:80/android_test/select.php";
         
         Einzel_Task task = new Einzel_Task();
         task.execute(new String[] {url, id } );
    }

    class Einzel_Task extends AsyncTask<String, Void, String> {
       @Override
       protected String doInBackground(String... params) {
           
           HttpClient httpclient = new DefaultHttpClient();
           HttpPost httppost = new HttpPost(params[0]);
           try
             {                
                       ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                     nameValuePairs.add(new BasicNameValuePair("id",params[1]));
                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    HttpResponse response = httpclient.execute(httppost); 
                    HttpEntity entity = response.getEntity();
                    is = entity.getContent();                                    
                    Log.e("pass 1", "connection success " + jsonResult);
            }
             catch(Exception e)
            {
                 Log.e("Fail 1", e.toString());
                Toast.makeText(getApplicationContext(), "Invalid IP Address", Toast.LENGTH_LONG).show();
            } 
          return null;
       }   
       
       protected void onProgressUpdate(Integer... progress) {
          // ...
          // propagate progress to UI
          //
       }
       protected void onPostExecute(String result) {
           //update UI here
           list_dreaw();           
       }            
    }


public void list_dreaw(){
        try
         {
              BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
            StringBuilder sb = new StringBuilder();
            
              while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
            }              
            is.close();
            result = sb.toString();
            Log.e("pass 2", "connection success " + result);
        }
        
        catch(Exception e){
            Log.e("Fail 2", e.toString());
        }     
        
        try
         {        
             JSONObject json_data = new JSONObject(result);
             name=(json_data.getString("name"));
            Toast.makeText(getBaseContext(), "Name : "+ name, Toast.LENGTH_SHORT).show();
         }
         
        catch(Exception e){
             Log.e("Fail 3", e.toString());
         }            
    }


Der ursprüngliche Beitrag von 12:49 Uhr wurde um 13:24 Uhr ergänzt:

danke für deine Hilfe...habs nun mit hilfe von firefox und fester "id" variable raus bekommen...haben jeweils bei "name" 2 "'" gefehlt...also 'name' und nicht name...
ist wohl passiert weil ich vorher einen alten MYSQL Server hatte und und nun umgestellt habe auf z.b. "mysqli_connect" und nicht mehr "mysql_connect".

Danke und Gruss

zulu23
 
Da ich k.A. habe was dein PHP-Skript für einen Parameter erwartet und wie dieser Parameter übergeben werden muss, kann ich dir nur sagen, dass entweder das Skript garnicht funktioniert (ergo im PHP-Skript nachgebessert werden muss) oder du den Parameter eben falsch übergibst.

Weißt du eigtl. was dein Code macht und warum deine "Fail 3"-Exception aufgerufen wird? ... Die wird aufgerufen, weil das was du vom Skript zurückerhältst eben kein JSON ist, du erhältst (wie im Firefox!) diese "Fehlerseite" zurück ...

Also nochmal, du erhältst vom Skript eben nicht die von dir erwartende Antwort (JSON), sondern eine Fehlermeldung. DU hast doch das Skript gemacht oder? Was sollte das für eine Antwort geben? Warum gibt es diese nicht? (das musst du selber rausfinden ...)


//EDIT: Gut, dann hat sich das erledigt ;)
 
Zurück
Oben Unten