PHP e recupero risultati da query

liso

Nuovo Utente
18 Mar 2014
10
0
0
Buonasera a tutti, scrivo per la prima volta...perchè per la prima volta non ho trovato la soluzione da solo :)

ho uno script sql NON scritto da me, che devo far eseguire in una pagina php.
se il codice lo copio e incollo in phpmyadmin funziona correttamente e restituisce un risultato.
questo risultato dovrei mostrarlo in una pagina web
ho quindi creato un file .sql con le righe di sql
e utilizzato questa funzione nella pagina php

PHP:
<?php

mysql_connect("localhost","root",""); 
mysql_select_db("db1"); 
$file="query.sql"; // Il file SQL da eseguire 
$rows=explode(";",file_get_contents($file)); 
foreach($rows as $row){ 
echo "<br/>Eseguo la query:".$row; 
$res = mysql_query($row); 
echo "<br/>".$row; 
} 
echo "finito!"; 
echo $res;

if($res && mysql_num_rows($res)>0){
 while($row=mysql_fetch_assoc($res)){
        //echo $row['famiglia']." – ";
        }
} else
     echo "nessun risultato";
	 
	 
?>

Non mi riesce però interpretare il risultato. infatti mi viene stampato "nessun risultato" ma questo non è vero in quanto se eseguito in phpmyadmin ho il risultato.....come posso fare?

l'ultima riga (di una quarantina) di codice sql è: group by Fm3_Cod, Fm3_Des, Art_UniMis;
non so se può essere utile per capire che tipo di risultato sputa fuori


grazie infinite
 
Ultima modifica di un moderatore:

liso

Nuovo Utente
18 Mar 2014
10
0
0
Buonasera a tutti, scrivo per la prima volta...perchè per la prima volta non ho trovato la soluzione da solo :)

ho uno script sql NON scritto da me, che devo far eseguire in una pagina php.
se il codice lo copio e incollo in phpmyadmin funziona correttamente e restituisce un risultato.
questo risultato dovrei mostrarlo in una pagina web
ho quindi creato un file .sql con le righe di sql
e utilizzato questa funzione nella pagina php

Codice:
<?php

mysql_connect("localhost","root",""); 
mysql_select_db("db1"); 
$file="query.sql"; // Il file SQL da eseguire 
$rows=explode(";",file_get_contents($file)); 
foreach($rows as $row){ 
echo "<br/>Eseguo la query:".$row; 
$res = mysql_query($row); 
echo "<br/>".$row; 
} 
echo "finito!"; 
echo $res;

if($res && mysql_num_rows($res)>0){
 while($row=mysql_fetch_assoc($res)){
        //echo $row['famiglia']." – ";
        }
} else
     echo "nessun risultato";
	 
	 
?>

Non mi riesce però interpretare il risultato. infatti mi viene stampato "nessun risultato" ma questo non è vero in quanto se eseguito in phpmyadmin ho il risultato.....come posso fare?

l'ultima riga (di una quarantina) di codice sql è: group by Fm3_Cod, Fm3_Des, Art_UniMis;
non so se può essere utile per capire che tipo di risultato sputa fuori


grazie infinite


stampando direttamente $res quello che viene fuori è: Resource id #6
che vuol dire?!?!?!!?!?:eek:
 

alberto.brambilla.35

Nuovo Utente
28 Gen 2014
16
0
1
$res è simile ad un array, devi interpretarlo con mysql_fetch_row(). Ti metto due righe di codice

while($row=mysql_fetch_row($res)){
$campo1=$row[0];
$campo2=$row[1];
....
$campon=$row[n];
}

n dipende dal numero di campi che hai nel risultato della query.
 

liso

Nuovo Utente
18 Mar 2014
10
0
0
Ho provato anche così,
Codice:
while ($row = mysql_fetch_row($res)) {
	echo $row[0];
}


while ($row = mysql_fetch_assoc($res)) {
	echo $row[0] ;
}

	 
while ($row = mysql_fetch_array($res, MYSQL_BOTH)) {
	echo  $row[0];
}

ad intepretare il risultato, ma l'errore è:

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in

ma il codice query è corretto, perchè eseguendola in phpmyadmin funziona
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa una cosa che non ho capito, cosa hai dentro il file query.sql?
una serie di select diverse separate da ;
del tipo esempio:
SELECT * FROM ecc_uno...;SELECT * FROM ecc_due...;SELECT * FROM ecc_tre...
?
spiega meglio cosa hai dentro quel file

p.s.
a parte che dovresti passare a mysqli (le istruzioni mysql sono deprecate) le mysql_fetch_assoc o mysql_fetch_array vanno bene.

ps al p.s.
usate i bccode giusti per il codice, per php ultima delle tre iconcine
 

marino51

Utente Attivo
28 Feb 2013
3.048
192
63
Lombardia
concordo con borgo, usi un codice ... diciamo "improprio"
includi la query direttamente senza usare il file
ciao
Marino

PHP:
<?php
mysql_connect("localhost","root",""); 
mysql_select_db("db1"); 

$sql = "select campo1, campo2, campo3";
$sql.= ",campo4 .....";
$sql.= ",campoN .....";
$sql.= " from tabella";
$sql.= " where condizione 1";
$sql.= " and condizione 2";
$sql.= " group by Fm3_Cod, Fm3_Des, Art_UniMis";

echo "<br/>Eseguo la query:".$sql; 
$res = mysql_query($sql);
var_dump($res);

if($res && mysql_num_rows($res)>0){
  while($row=mysql_fetch_assoc($res)){
    //echo $row['famiglia']." – ";
  }
} else
     echo "nessun risultato";
?>
 
Ultima modifica:

liso

Nuovo Utente
18 Mar 2014
10
0
0
dentro il file ho 2 select, unite da un UNION...
Codice:
select Fm3_Des as Famiglia, Rmv_Art as Codice, Art_Des as Descrizione, Art_DesUlt as Descrizione_Ulteriore, Art_UniMis,
      ...
 where Fm3_Cod = @Filtro_Fm3
   ...
 group by Rmv_Art, Art_Des, Art_DesUlt, Art_UniMis
 union
 select Fm3_Des as Famiglia, Fm3_Cod as Codice, "" as Descrizione, "Totale" as Descrizione_Ulteriore, Art_UniMis,
       ...
 where Fm3_Cod = @Filtro_Fm3
   ...
 group by Fm3_Cod, Fm3_Des, Art_UniMis;
 

marino51

Utente Attivo
28 Feb 2013
3.048
192
63
Lombardia
scusa, "cancella" il mio post precedente,

la variabile @Filtro_Fm3 è già presente nel db o viene valorizzata nel testo della query ?
where Fm3_Cod = @Filtro_Fm3

borgo, tu che conosci mysql .....
ciao
Marino
 

liso

Nuovo Utente
18 Mar 2014
10
0
0
Per fare le cose semplici, sto cercando di eseguire solo la prima select,
ho levato il file .sql e riscritto così:

PHP:
$sql = "set @Filtro_Fm3 := 'BR09'"; 
$sql.= "set @Filtro_Dal := '2013-01-01'";
$sql.= "set @Filtro_Al  := '2013-12-31'";
$sql.= "set @Filtro_Ese := 'A13';";


$sql.= "select Fm3_Des as Famiglia, Rmv_Art as Codice, Art_Des as Descrizione, Art_DesUlt as Descrizione_Ulteriore, Art_UniMis,";
$sql.= "       sum(if(Hmv_StaDoc = '1', Rmv_QtaE, 0)) - sum(if(Hmv_StaDoc = '1',Rmv_QtaU,0)) as Totale_Qta_inOrdine,";
$sql.= "       sum(if(Hmv_StaDoc != '1', Rmv_QtaE, 0)) as Totale_Qta_Entrata,";
$sql.= "       sum(if(Hmv_StaDoc != '1', Rmv_QtaU, 0)) as Totale_Qta_Uscita,";
$sql.= "       sum(if(Hmv_StaDoc != '1', Rmv_QtaE, 0)) - sum(if(Hmv_StaDoc != '1',Rmv_QtaU,0)) as Totale_Qta_inGiacenza,";
$sql.= "       sum(Rmv_QtaE)-sum(Rmv_QtaU) as Totale_Qta_Disponibile       ";
$sql.= "  from (((m_Rmv  ";
$sql.= "  left join m_Hmv on m_Hmv.Hmv_IdeHea = m_Rmv.Rmv_IdeHmv)  ";
$sql.= "  left join q_Art on q_Art.Art_Cod = m_Rmv.Rmv_Art)  ";
$sql.= "  left join r_Fm3 on r_Fm3.Fm3_Cod = q_Art.Art_Fm3) ";
$sql.= " where Fm3_Cod = @Filtro_Fm3";
$sql.= "   and Hmv_MagDat >= @Filtro_Dal  ";
$sql.= "   and Hmv_MagDat <= @Filtro_Al  ";
$sql.= "   and Rmv_EseCon = @Filtro_Ese  ";
$sql.= "   and Rmv_MovMag in ('G','D')  ";
$sql.= " group by Rmv_Art, Art_Des, Art_DesUlt, Art_UniMis";


 
 
$res = mysql_query($sql);
echo "<br/>Eseguo la query:".$sql; 


var_dump($res);


while ($row = mysql_fetch_row($res)) {
	echo $row[0];
}


while ($row = mysql_fetch_assoc($res)) {
	echo $row[0] ;
}

niente da fare, il risultato è:
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given
queste 20 righe postate su phpmyadmin invece producono 3 righe di risultati
 

marino51

Utente Attivo
28 Feb 2013
3.048
192
63
Lombardia
il problema sta nelle variabili @....
se vuoi una soluzione rapida, sostituisci le variabili nella query con i relativi valori
altrimenti credo ... borgo
ti deve spiegare come gestire query con variabili in mysql
ciao
Marino
 

liso

Nuovo Utente
18 Mar 2014
10
0
0
PERFETTO!!! adesso qualcosa vedo....grazie mille non so come ringraziarvi!
per le variabili provo a studiarci un pò da solo...nel caso non dovessi trovare nulla tornerò a disturbarvi sul forum!


grazie mille davvero
 

liso

Nuovo Utente
18 Mar 2014
10
0
0
PERFETTO!!! adesso qualcosa vedo....grazie mille non so come ringraziarvi!
per le variabili provo a studiarci un pò da solo...nel caso non dovessi trovare nulla tornerò a disturbarvi sul forum!


grazie mille davvero
 
Discussioni simili
Autore Titolo Forum Risposte Data
L PHP e recupero risultati da query PHP 2
S [PHP] Recupero nome immagine da Form con input file PHP 3
bubino8 [PHP] Recupero id autoincrement PHP 8
S [PHP] form con metodo get e recupero id PHP 4
Emix [PHP] Check - Select e recupero variabili PHP 40
bubino8 [PHP] Recupero input senza invio PHP 1
U [PHP] Selezione con menu a tendina e recupero selezione PHP 5
L Problema con recupero dati in PHP cURL e JAVA con server PHP 1
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
P [PHP] Recupero dati da un array PHP 5
Alessio Gebbia [PHP] Recupero dati da un WHILE ! PHP 3
I Recupero numero file uploadati php PHP 1
F errori sul recupero dati mysql e php PHP 3
T Problema recupero dati da file [era: help script php] PHP 9
L [PHP/MYSQL] Recupero campo USER e visualizzarlo nella tabella pagine PHP 13
A Accesso e recupero informazioni su db mysql e 2 tabelle. Php lento nell'esecuzione. PHP 5
L [PHP] Recupero valore dopo il submit PHP 1
M Recupero dati da pagina php PHP 2
P recupero variabile e invio a php Flash 5
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 1
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 0
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0

Discussioni simili