strano errore php/mysql

egalizia

Nuovo Utente
29 Ago 2015
14
0
0
mi capita uno cosa molto strana ho creato un script php per fare una ricerca query su di un database facendo la selezione di 2 campi presei da una lista ora se visualizzo la pagina in logale sul server nessun errore se visualizzo la pagina da un client nella rete le cose cambiano se uso firefox tutto regolare se utilizzo IE mi ritrovo con questi errori

Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, array given in C:\wamp\apps\portale\XX\index.php on line XX
ripetuto per due volte esattamente dove ho i campi del menu a tendina per scegliere i valori della query .... in ogni caso quando invio la query funziona senza problemi.

Come mai mi visualizza quel warning?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
se stai usando il procedurale controlla
PHP:
<?php
//dove $ris proviene es. da $ris=mysqli_query($con,$query_stringa);
mysqli_free_result ($ris );
?>
 

egalizia

Nuovo Utente
29 Ago 2015
14
0
0
si infatti la linea è come quella ma nn capisco come mai su alcuni browser non da errore su altri si ..... domani dal lavoro ti posto il codice php devo intanto verificare una cosa ma nn credo sia quella mi sembra che tutti usano ie11
 

egalizia

Nuovo Utente
29 Ago 2015
14
0
0
buongiorno ecco la parte di codice in questione

PHP:
<?php
	while ($row_p = mysqli_fetch_row($risultati_p)) {
	echo "<option value='" . $row_p[0] . "'>" . $row_p[0] . "</option>";
        }
	mysqli_free_result($lista_p);
 ?>
l' errore su mysqli_free_result($lista_p); ma quello che mi risulta strano è che lo dia solo su IE e solo sui client sul serve non da alcun errore ne con IE ne con Firefox
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
da quello che capisco tu estrai il risultato dell query mysqli_query con $risultati_p cioè
PHP:
$risultati_p= mysqli_query($con, $stringa);
giusto?
se è così devi liberare con quel risultato
PHP:
mysqli_free_result($risultati_p);
poi perchè delle volte errore e delle volte no penso che dipenda dalla "sensibilità" del bw
 

egalizia

Nuovo Utente
29 Ago 2015
14
0
0
si esatto praticamente io ho un form con dua campi a tendina i valori dei due campi li prendo da una query che mi punta al mio db. Domani quando torno in uffficio facco delle prove.
Continuo a chiedere qui per non aprire un altro post io ho fatto tutta una procedura usando il $_POST al submit che funziona senza problemi e mi stampa il risultato nella pagina dove scelgo i due campi ora però mi servirebbe avere l'ouput della query in formato pdf. Ho trovato una funzione fpdf con tanto di script per creare una tabella prendendola da mysql unico mio problema è come passare la variabile dalla mia pagina di selezione dove ho il form alla pagina che poi andrà ad eseguire la query ed a creare il pdf. facendo una ricerca veloce ho visto di assegnare una variabile che poi viene richiamata con ...php?.... ma non ho capito bene come impostala so che è una vera domanda da nubbo ma diciamo che sono nubbo :D
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
se non ho capito male ti serve una variabile di sessione che trametta un valore da una pagina ad un altra
ti schematizzo
nella pagina 1
PHP:
<?php
session_start();
/* attenzione: questa istruzione non deve avere prima alcun output html, nemmeno uno spazio
in pratica alla riga 1 il tag pgp alla 2 l'istruzione
poi deve essere presente in tutte le pagine dove usi le sessioni
i commenti php non contano
*/
?>
<!-- qui puoi mettere tutto l'html e/o php che vuoi-->
<?php
//valorizzi la sessione
$_SESSION['pinco']="quello che vuoi";
echo "sto provando la sessione che ha valore: ".$_SESSION['pinco']."<br>";
?>
<a href="pagina_2.php">vai a pagina 2</a>
nella pagina 2
PHP:
<?php
session_start();
//tutto quello che ti serve
echo "sla sessione da pagina 1 ha valore: ".$_SESSION['pinco']."<br>";
//se non ti serve più la elimini es. con unset($_SESSION['pinco']);
//o se ti serve gli cambi valore
//....
?>
la sessione mantiene il suo valore sino a che non la elimini o chiudi il bw
da cui puoi usarla in tutte le pagine che vuoi
 

egalizia

Nuovo Utente
29 Ago 2015
14
0
0
Intanto grazie per i continui aiuto .....
allora per il discorso delle variabili da un pagina all'altra ho risolto prima di leggere il tuo post ti allego il codice del mio form che mi continua a dare quel problema


<tr><td>campo1:</td>
<td><select name="campo1"><option value='Tutti'>Campo1</option>
<?php
while ($row_p = mysqli_fetch_row($risultati_p)) {
echo "<option value='" . $row_p[0] . "'>" . $row_p[0] . "</option>";
}
mysqli_free_result($lista_p);
?>
</select></td>
</tr>

<tr>
<td>campo2:</td><td><select name="campo2"><option value='Tutti'>campo2i</option>
<?php
while ($row_c = mysqli_fetch_row($risultati_c)) {
echo "<option value='" . $row_c[0] . "'>" . $row_c[0] . "</option>";
}
mysqli_free_result($lista_c);
?>
Vedo che metti sempre session_start(); devo usarlo sempre in una pagina php?
 
Ultima modifica:

egalizia

Nuovo Utente
29 Ago 2015
14
0
0
ok dovrei aver risolto sembra funzionare ora nn so come mai anche se prima era ok :D