function con query non funzionante

blackdemon

Nuovo Utente
23 Gen 2012
2
0
0
Salve a tutti,

ho un piccolo problema con con una funzione php che non stò riuscendo a risolvere.
Mi spiego:

ho la tabella mysql anagrafica contenente i valori ID - Nome - Cognome etc

per evitare di riscrivere lo stesso codice per riempire le select ho creato la seguente function:

PHP:
function carica_select($campo) {
	$query = "SELECT `" . $campo . "` FROM `anagrafica` GROUP BY `" . $campo ."`";
	echo $query;
	$result = mysql_query ($query, $db);
	$line = mysql_fetch_array ($result);
	echo " <select name='" . $campo . "' style='width:150px'>";
	echo " <option  value=''></option>";
	while ($line = mysql_fetch_array ($result)) 
	{
		echo "	<option value='" . $line[$campo] . "'>" .$line[$campo]. "</option>";
	}
	echo "</select>";
}

il problema che mi si pone è che quando richiamo la funzione carica_select("ID"); la select è vuota nonostante la query, se provata su mysql, funziona correttamente.

Quale potrebbe essere il problema secondo voi?

Grazie mille in anticipo a tutti per il vostro aiuto
 
Ultima modifica di un moderatore:
Il problema è in questa riga:
PHP:
$result = mysql_query($query, $db);
La variabile $db non è visibile all'interno della funzione. Quindi, o la rendi globale:
PHP:
global $db;
$result = mysql_query($query, $db);
Oppure, più semplicemente, ometti il secondo parametro di mysql_query che non è richiesto (a meno che tu non abbia più connessioni a MySQL attive, cosa che mi sembra improbabile):
PHP:
$result = mysql_query($query);
Comunque, per evitare problemi simili, la prossima volta, costruisci le query in questo modo:
PHP:
$result = mysql_query($query) or die(mysql_error());
Così vedi subito cos'è andato storto.
 

Discussioni simili