Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    6

    [JAVA] problema error converting result

    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:
    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);
    	    	}
    		
    		});
    questo è il codice della classe che effettua la connessione al database e l'interrogazione:
    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;
    	}
    }
    e questo è il file php:
    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));
    ?>
    il problema è che dopo aver clikkato sul tasto cerca, il logCat mi presenta questo errore:
    error converting result: java.lang.nullpointerexception: lock==null
    e sulla text mi compare 0.
    come posso risolvere?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Spezzettiamo il problema in sotto problemi. Per cominciare: sei sicuro di come ti connetti al database nella pagina php?
    non mi convince in particolare l'host del db (localhost e basta l'avrei capito, ma perché un percorso ad una cartella?)
    Giusto per prova, debugga lo script php da apache, ovvero scrivi una query di prova e stampa i risultati direttamente nella pagina php. Attiva inoltre l'error_reporting su apache o via php (su E_ALL, in modo da avere anche i warning).
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    6
    Originariamente inviato da Andrea1979
    Spezzettiamo il problema in sotto problemi. Per cominciare: sei sicuro di come ti connetti al database nella pagina php?
    non mi convince in particolare l'host del db (localhost e basta l'avrei capito, ma perché un percorso ad una cartella?)
    Giusto per prova, debugga lo script php da apache, ovvero scrivi una query di prova e stampa i risultati direttamente nella pagina php. Attiva inoltre l'error_reporting su apache o via php (su E_ALL, in modo da avere anche i warning).
    Apache posso implementarlo in eclipse o devo scaricarlo a parte? Susa la domanda stupida

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ma come fai girare php?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    6
    Originariamente inviato da Andrea1979
    ma come fai girare php?
    il codice è stato scritto con netbeans. Ma è la prima volta che mi capita l'esigenza di usarlo.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Quindi mi pare di capire che tu abbia le idee poco chiare su quello che stai facendo. Prima di continuare a tentoni, controlla che cosa ci sia installato veramente. Che netbeans faccia scrivere codice php non lo metto in dubbio.. ma poi php è installato sulla macchina su cui sta lavorando ed eseguendo i test.e a monte, un web server in grado di interpretare php? Prima prova da fare: che esce se su browser scrivi:

    http://localhost

    ?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Giusto per dare qualche informazione in più, perchè mi sa che qui si sta navigando molto a vista, senza saper leggere la bussola:

    PHP è un linguaggio di programmazione lato server che viene "eseguito" da un motore in grado di interpretarlo. Questo motore si chiama "php" (sì, come il nome del linguaggio) ed è un "programma" da scaricare ed installare.

    Il motore di php, a sua volta, lavora in coppia con un altro programma (può lavorare anche da solo, ma non è il caso che stai vedendo tu): il server HTTP. Questo server HTTP è un programma che riceve le richieste HTTP (generalmente fatte attraverso un browser, ma non è importante) e le elabora. Per elaborarle può necessitare (ed è qui il tuo caso) di un motore esterno per interpretare la richiesta (quindi, questo server HTTP richiamerà il motore PHP per interpretare il codice PHP). Il server HTTP è anch'esso un programma da scaricare ed installare (generalmente, "Apache HTTP Server" o "Microsoft IIS").

    Detto questo, NetBeans è solo un "editor" che ti permette di scrivere del codice (come i file PHP, che per la cronaca puoi scrivere con un qualunque altro editor di testo, come il Blocco Note di Windows)... ma di sicuro non ti è sufficiente NetBeans per fare quello che chiedi: devi scaricare ed installare un server HTTP, scaricare ed installare il motore PHP, configurare il server HTTP in modo che sia in grado di usare il motore PHP e poi potrai usare i file che NetBeans ti ha prodotto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    6
    Originariamente inviato da LeleFT
    Giusto per dare qualche informazione in più, perchè mi sa che qui si sta navigando molto a vista, senza saper leggere la bussola:

    PHP è un linguaggio di programmazione lato server che viene "eseguito" da un motore in grado di interpretarlo. Questo motore si chiama "php" (sì, come il nome del linguaggio) ed è un "programma" da scaricare ed installare.

    Il motore di php, a sua volta, lavora in coppia con un altro programma (può lavorare anche da solo, ma non è il caso che stai vedendo tu): il server HTTP. Questo server HTTP è un programma che riceve le richieste HTTP (generalmente fatte attraverso un browser, ma non è importante) e le elabora. Per elaborarle può necessitare (ed è qui il tuo caso) di un motore esterno per interpretare la richiesta (quindi, questo server HTTP richiamerà il motore PHP per interpretare il codice PHP). Il server HTTP è anch'esso un programma da scaricare ed installare (generalmente, "Apache HTTP Server" o "Microsoft IIS").

    Detto questo, NetBeans è solo un "editor" che ti permette di scrivere del codice (come i file PHP, che per la cronaca puoi scrivere con un qualunque altro editor di testo, come il Blocco Note di Windows)... ma di sicuro non ti è sufficiente NetBeans per fare quello che chiedi: devi scaricare ed installare un server HTTP, scaricare ed installare il motore PHP, configurare il server HTTP in modo che sia in grado di usare il motore PHP e poi potrai usare i file che NetBeans ti ha prodotto.


    Ciao.
    Allora cerco una guida dettagliata per installare il tutto.
    Grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.