da quando in qua mysql_fetch_array mi restituisce sia indici numerici che indici stringhe???
Mi spiego, ho questa classe x il database:
Codice PHP:
class database {
//costruttore
function database() {
$this->connessione = mysql_connect($host, $user, $password);
if (!$this->connessione) {
$this->error_msg('Non sono riuscito a connettermi: ');
}
$this->resource = mysql_select_db($db, $this->connessione);
if (!$this->resource) {
$this->error_msg('Errore nella selezione del database: ');
}
return $this->resource;
}
//metodo che performa correttamente la query, $offset e $limit limitano la query ad un range di valori assegnato
function set_query($sql, $offset, $limit, $order) {
$this->sql = $this->escaped($sql);
$offset = intval($offset);
$limit = intval($limit);
if (!empty($order)) {
$this->sql .= "\nORDER BY $order";
}
if ($limit > 0 || $offset > 0) {
$this->sql .= "\nLIMIT $this->offset, $this->limit";
}
$this->query = mysql_query($this->sql, $this->connessione);
if (!$this->query) {
$this->error_msg('Non sono riuscito ad eseguire la query: ');
}
}
//ritorna l'array dei campi della tabella
function fetch_array() {
return mysql_fetch_array($this->query);
}
lasciamo perdere il resto ke nn serve..
Se io faccio:
Codice PHP:
$db = new database();
$query = "SELECT * FROM qualcosa";
$db->set_query($query);
$elementi = $db->fetch_array();
print_r($elementi);
quindi se semplicemente faccio il mysql_fetch_array() della query il risultato è:
Codice PHP:
Array
(
[0] => 31
[id] => 31
[1] => Amici
[nome] => Amici
[2] => 0
[click] => 0
[3] => 28
[parent] => 28
[4] => Visualizza i tuoi amici
[menu_alt] => Visualizza i tuoi amici
[5] => task=messaggi&option=amici
[action] => task=messaggi&option=amici
[6] =>
[menu_img] =>
[7] => 0
[visibile] => 0
)
campi doppi con indici numerici e indici "giusti" con il nome del campo della tabella.. :master:
moooolto strano... o sono io ke sono andato??
edit: