Italian Collegamento DB MySql su Aruba

marketto

Member
Licensed User
Ciao a tutti,

ho risistemato un codice trovato sul forum per collegarmi su u DB MySql di Aruba.

Gli errori che i restituisce sono questi (sulla sub AccessoDb) come da foto.
Non riesco però a capire some dichiarare le due variabili:
Md5calc e Httpjob.
Mi mancano forse delle librerie per farlo o mi sbaglio?
Il codice lato server l'ho già caricato sul server e spero sia ok.

Grazie anticipatamente Marco

 

MARCO C.

Active Member
Licensed User
Ciao omonimo,
ti riporto un esempio che utilizzo per leggere un ordine in una tabella MySql su Aruba

B4X:
Sub LoadOrdine
    Dim SubName As String
    Dim Query, risult As String
       
    NessunOrdine = True
   
    Try
        SubName = "LoadRifOrdine"
   
        Query =" SELECT * FROM `ordini` "
   
        Log(Query)
        Log("-----------")
       
        Dim wjob As HttpJob
        wjob.Initialize("" ,Me)
        wjob.PostString("https://www.nomeserver.it/file/execute.php", Query)
   
        Wait For (wjob) JobDone(wjob As HttpJob)
   
        If wjob.Success Then
            'ToastMessageShow("LOAD Ordine",False)
            Log("Load ordine  ")
            Dim text As String = wjob.GetString
            Dim json As JSONParser
            Try
                json.Initialize( text )
            Catch
                Log("Text: Could not initialize json...")
              
                Return
            End Try
            Dim list As List
            Try
                list = json.NextArray
            Catch
                Log(LastException)
       
                Log("Server non risponde  ")
                Log("List: Error with json array: " & LastException.Message)
       
                Return
            End Try
       
       
            If list.Size=0 Then
                Log("Nessun risultato ")
            End If
   
            For i = 0 To list.Size - 1
                Dim M As Map
                M = list.Get(i)
           
                risult =m.Get("rifordine") & CRLF
                risult = risult & m.Get("note") & CRLF
                risult = risult & m.Get("idordini") & CRLF
                risult = risult & m.Get("mailcli") & CRLF
                               
                Log("Ho preso i dati ordine : " & risult)
                NessunOrdine=False
               
            Next
   
       
        Else
          
            Log("Anomalia: server non risponde..   " )
            Log("Error: " & wjob.ErrorMessage)
           
            Return
        End If
   
        wjob.Release
       
        Sleep(0)
       
    Catch
        Log($"${SubName}: errore  ${LastException}"$)
    End Try
   
End Sub
 

MARCO C.

Active Member
Licensed User
scusa .. dimenticavo
il file php è il seguente

PHP:
<?php

$databasehost = "89.46.xxx.xxx";
$databasename = "Sql1234567_1";
$databaseusername ="Sql1234567";
$databasepassword = "mypassword";
$con = mysqli_connect($databasehost,$databaseusername,$databasepassword, $databasename) or die(mysqli_error($con));
mysqli_set_charset ($con , "utf8");
$query = file_get_contents("php://input");
$sth = mysqli_query($con, $query);

if (mysqli_errno($con))
{   header("HTTP/1.1 500 Internal Server Error");
  echo $query.'\n'; 
 echo mysqli_error($con);
}
elseif (is_bool( $sth ))  { 
   if ($sth == TRUE)
   {     
    $json = '[OK]';   
    //echo "json =ok";
   }   
   else
   {     
   $json = '[FAIL]';   
    //echo "json =fail";
   }   
   echo $json;
   }

 else

 { 
 //echo "non boolean sono su array ";
 $rows = array();   
 while($r = mysqli_fetch_assoc($sth))
 {     
 $rows[] = $r;   
 }
  $res = json_encode($rows);
   echo $res;   
mysqli_free_result($sth);
}
mysqli_close($con);
?>
 

marketto

Member
Licensed User
Grazie della risposta.
Fino ad ora sono riuscito a leggere il numero delle righe di una tabella da far leggere all’app e ad aggiungere una campo al DB.
Ancora non ho implementato la criptazione md5. Vedrò di farla in seguito.
Oggi però è successa una cosa che a me pare strana.
Da un modulo Registrazione mando il mio username è la mia password al db e vengono registrati perfettamente.
Dopo tale registrazione, avvenuta con successo, devo cambiare modulo con startactivity ma ciò non avviene.
A dire il vero per un attimo passa alla nuova pagina poi torna alla pagina da dove è stata fatta la chiamata di lancio della pAgina php.
Ora mi chiedo se tale comportamento è giusto

Grazie ancora
 

Xfood

Expert
Licensed User
ciao Marco,
si potrebbe avere anche un esempio di update e un esempio di insert?
diciamo un esempio di un piccolo framework con script php per gestire un db remoto
Grazie e buon fine settimana
 

MARCO C.

Active Member
Licensed User
ciao Marco,
si potrebbe avere anche un esempio di update e un esempio di insert?
diciamo un esempio di un piccolo framework con script php per gestire un db remoto
Grazie e buon fine settimana
Come ho un PC a disposizione assolutamente si .
Ma la tecnica è la stessa del "select " ..del primo esempio . Alla variabile Query , al posto di Select , nel sql metto "Insert Into " o Update .
 

Xfood

Expert
Licensed User
Come ho un PC a disposizione assolutamente si .
Ma la tecnica è la stessa del "select " ..del primo esempio . Alla variabile Query , al posto di Select , nel sql metto "Insert Into " o Update .
Grazie, anche un piccolo controllo su insert e update mi sarebbe utile, tipo se esiste il campo primario fai un update, altrimenti un insert.
E da un po che volevo completare una mia app con db remoto, lasciata da parte per troppo tempo, spero di finirla con il tuo aiuto , mi sono sempre "arenato", cosi con questo piccolo framework dovrei essere apposto.
Grazie ancora
 

MARCO C.

Active Member
Licensed User
scusa @Xfood oggi non sono riuscito a prepararti nulla. Ci provo domani .
 

MARCO C.

Active Member
Licensed User
Buonasera @Xfood ,
in allegato una esempio per leggere e modificare un database Mysql. Dovresti trovare tutto nel file in allegato : struttura dati, note, indicazioni delle librerie utilizzate e file php da inserire sul web.
Ovviamente , nel mio piccolo, a disposizione per chiarimenti
M.
 

Attachments

  • ESEMPIO_XFood.zip
    130 KB · Views: 207

Xfood

Expert
Licensed User
Ottimo, grazie, e piu di quello che mi aspettavo.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…