buona serata a tutti,
ormai sono giorni che provo a gestire al meglio un db remoto su altervista com script php
in pratica riesco a fare tutte le query, tranne inserire il campo blob con una foto, oppure leggere un record
dove e' contenuto un campo blob con foto ("caricata a mano direttamente dal portale altervista")
qualcuno puo' darmi una mano per favore,
in pratica in tutte le tabelle dove mi serve il campo blob con la foto, creo un campo sempre con lo stesso nome
cioe FotoBlob cosi che posso verificare l'esistenza del campo, ma anche utilizzando questo script non mi restituisce nulla
:script php
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
se lancio questo codice, mi ritorna l'elenco
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
ma se lancio questo codice, non mi ritorna nulla ritorna solo [] quindi vuoto
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
chiaramente tutte le query $"Select * from ;"$ mi ritornano il contenuto della tabella, se non ci sono campi blob popolati
qualche suggerimento?
anche un suggerimento di come inserire un record della tabella categorie, avente solo 3 campi idCategoria, DesCategoria,FotoBlob
allego anche la funzioncina executeremotequery
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			ormai sono giorni che provo a gestire al meglio un db remoto su altervista com script php
in pratica riesco a fare tutte le query, tranne inserire il campo blob con una foto, oppure leggere un record
dove e' contenuto un campo blob con foto ("caricata a mano direttamente dal portale altervista")
qualcuno puo' darmi una mano per favore,
in pratica in tutte le tabelle dove mi serve il campo blob con la foto, creo un campo sempre con lo stesso nome
cioe FotoBlob cosi che posso verificare l'esistenza del campo, ma anche utilizzando questo script non mi restituisce nulla
:script php
			
				B4X:
			
		
		
		<?php
$databasehost = "localhost";
$databasename = "nomedb";
$databaseusername ="utente";
$databasepassword = "password";
error_reporting(E_ALL ^ E_WARNING);
error_reporting(0);
$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);
}
else
{
   $rows = array();
   while($r = mysqli_fetch_assoc($sth)) {
     if ($r['FotoBlob'] instanceof mysqli_stmt) {
        // Field is of type BLOB
       $r["FotoBlob"] = base64_encode($r["FotoBlob"]);
       }
       $rows[] = $r;
   }
   $res = json_encode($rows);
    echo $res;
    mysqli_free_result($sth);
}
mysqli_close($con);
?>se lancio questo codice, mi ritorna l'elenco
			
				B4X:
			
		
		
		dim metodoas string ="Cerca"
    Dim query As String = $"Select idCategoria, DesCategoria from Categorie where idCategoria<10 ;"$
    Wait For (connessionePhp.ExecuteRemoteQuery(query,metodo)) Complete (Valore As String)
    Log("valore " & metodo &": " & Valore)ma se lancio questo codice, non mi ritorna nulla ritorna solo [] quindi vuoto
			
				B4X:
			
		
		
		dim metodo as string ="Cerca"
    'Dim query As String = $"Select idCategoria, DesCategoria from Categorie where idCategoria<10 ;"$
    Dim query As String = $"Select * from Categorie where idCategoria<10 ;"$
    Wait For (connessionePhp.ExecuteRemoteQuery(query,metodo)) Complete (Valore As String)
    Log("valore " & metodo &": " & Valore)chiaramente tutte le query $"Select * from ;"$ mi ritornano il contenuto della tabella, se non ci sono campi blob popolati
qualche suggerimento?
anche un suggerimento di come inserire un record della tabella categorie, avente solo 3 campi idCategoria, DesCategoria,FotoBlob
allego anche la funzioncina executeremotequery
			
				B4X:
			
		
		
		Sub ExecuteRemoteQuery(Query As String, JobName As String) As ResumableSub
    Dim res As String
    Dim job As HttpJob
    Log(Query)
    
    job.Initialize(JobName, Me)
    job.PostString(Main.cRemoteStringa, Query)
    Wait For (job) JobDone(job As HttpJob)
    
    Log("successo?")
    Log(job.Success)
    Log(job.GetString)
    Log("fine successo")
    If job.Success Then
        res = job.GetString
        Log("res: " & res)
        If JobName="Insert" Then res="OK"
        If JobName="Delete" Then res="OK"
        If JobName="Cerca" And  res.Length < 5 Then res="0"
'        Return res
    Else
        res = "ERR"
        
        'Return "errore"
    End If
    
    job.Release
    Return res
End Sub 
				 
 
		 
 
		 
 
		 
						
					 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		