Ciao a tutti!
sono nuovo del forum e spero di imparare tanto.
sto facendo un app android che mi permette di collegarsi ad un database mysql esterno tramite un file php situato su un server, ma, in fase di progettazione, sto facendo tutto in locale.
l'applicaizione deve eseguire una SELECT sul database Azienda nell'onclick del tasto cerca e visualizzare il risultato (dati anagrafici delle aziende contenute nel databse) sulla text situata sotto di esso.
questo è il codice Java della main Activity:
questo è il codice della classe che effettua la connessione al database e l'interrogazione:codice:Button btncerca=(Button)findViewById(R.id.btncerca); btncerca.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { TextView txtrisultato=(TextView)findViewById(R.id.txtrisultato); String result = sendQuery.send("SELECT nome_azienda FROM azienda"); txtrisultato.append(result); } });
e questo è il file php:codice:public class sendQuery { /////////// Public method to send Query /////////// public static String send(String query) { String result = "0"; InputStream is = null; //the query to send ArrayList<NameValuePair> querySend = new ArrayList<NameValuePair>(); querySend.add(new BasicNameValuePair("querySend",query)); //http post try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("localhost/D:/Java/workspace/AziendaPuglia/query.php"); httppost.setEntity(new UrlEncodedFormEntity(querySend)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ Log.e("log_tag", "Error in http connection "+e.toString()); } //convert response to string try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString(); }catch(Exception e){ Log.e("log_tag", "Error converting result: "+e.toString()); } Log.i("SendQUERY", result); return result; } }
il problema è che dopo aver clikkato sul tasto cerca, il logCat mi presenta questo errore:codice:<?php $db_host = "localhost/D:/Java/workspace/AziendaPuglia"; $db_name = "azienda_puglia"; $db_user = "root"; $db_password = "12345"; //connessione al database $db = mysql_connect($db_host, $db_user, $db_password); if ($db == FALSE) die ("Errore nella connessione. Verificare i parametri nel file connection.php"); mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file connection.php"); //preleviamo la query passataci dall’applicazione $query = $_REQUEST['querySend']; $query = str_replace("\'", "'", $query); //eseguiamo la query $result = mysql_query ($query); while($e=mysql_fetch_assoc($result)) $output[]=$e; //stampiamo il risultato in formato json print(json_encode($output)); ?>
error converting result: java.lang.nullpointerexception: lock==null
e sulla text mi compare 0.
come posso risolvere?

Rispondi quotando

