Sto cercando di recuperare più dati da un database con una funzione PHP, ma in qualche modo quando lo faccio più volte dà un errore di connessione MySQL.Chiama una funzione PHP più volte crea l'errore MySQL
$heat=getStat("heat", $userid);
$cash=getStat("cash", $userid);
echo mysql_error();
Io uso il codice sopra per assegnare le variabili chiamando una funzione che recupera le statistiche da un database.
Quando uso i codici di cui sopra separatamente, funzionano. Ma quando li metto insieme falliscono.
Si tratta di un semplice errore di programmazione di tipo no-beginner-noob?
Ho dimenticato di inviare la funzione così qui è:
function getStat($statName,$userID) {
require_once 'config.php';
$conn = mysql_connect($dbhost,$dbuser,$dbpass)
or die('Error connecting to MySQL' . mysql_error());
mysql_select_db($dbname);
$query = sprintf("SELECT value FROM user_stats WHERE stat_id = (SELECT id FROM stats WHERE display_name = '%s' OR short_name = '%s') AND user_id = '%s'",
mysql_real_escape_string($statName),
mysql_real_escape_string($statName),
mysql_real_escape_string($userID));
$result = mysql_query($query);
list($value) = mysql_fetch_row($result);
return $value;
}
Avremmo bisogno di vedere la definizione della funzione 'getStat()' per avere idea di ciò che fa, come pure come qualsiasi connessione al database correlato e codice di interrogazione. –
Un colpo totale al buio - la funzione 'getStat()' _close_ una connessione globale al database MySQL che non si è aperta, quindi la stessa connessione non è presente per le chiamate successive. –
Che errore ottieni in modo specifico? Questo non sembra un errore _unless_ hai un numero limitato di connessioni MySQL e ne apri troppe. Sarebbe preferibile chiamare 'mysql_connect()' solo _once_, al di fuori di questa funzione, piuttosto che aprire una nuova connessione ogni volta che la funzione è calle.d –