Chiarimenti sulle query

Quando faccio una query select, ad esempio:

$query_select="SELECT * FROM $tab WHERE nome LIKE '$val_cerc'";
$ris_select=mysql_query($query_select,$punt_db) or exit("Errore query");
$riga_select = mysql_fetch_array($ris_select);

$ris_select non è un array giusto?

mentre $riga_select è un array ma la sua domensione da cosa dipende?

Perchè proprio questo codice, se dopo io faccio:

echo sizeof($riga_select) mi ritorna 12 se immetto nella ricerca($val_cerc) un valore effettivamente presente, solo che 12 non indica nulla visto che la mia tabella($tab) ha solo 6 campi.

Mentre se immetto un valore non presente la sua dimensione è 1...non capisco...  :-\

Grazie

inviato 10 anni fa
blow
blow
1
X 0 X

$ris_select non è un array php lo identifica come risorsa ( una specie di scontrino )( #resource o qualcosa del genere ) infatti da solo non serve a nulla è per questo che si usa mysql_fetch_array o simili per 'estrarre' i risultati dallo 'scontrino'  $riga_select è un array con tanti elementi quanti sono i campi della tabella se sono 3 campi :

/*

+----------+--------------------------------+

|nome      |$ris_select['nome']          |

|cognome | $ris_select['cognome']   |

|telefono  | $ris_select['telefono']     |

+----------+--------------------------------+

*/

ad  ogni campo corrisponde un array che possiede come indice il nome del campo , ma puoi anche usare un indice numerico

/*

+----------+--------------------------------+

|nome      |$ris_select[0]                   |

|cognome | $ris_select[1]                 |

|telefono  | $ris_select[2]                 |

+----------+--------------------------------+

*/

se vuoi regolarti com'è più o meno fai così :

$ris_select = mysql_fetch_array($ris_query);

echo '<pre>';

print_r($ris_select);

echo '</pre>;

'

PS : se mi sbaglio mi corrigerete ::) , Gianni se ho detto delle boiate picchiami    :coolsmiley:

per la serie : sono un noob ma sembro pro!! ^-^

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

ok...allora c'è qualcosa che non va...12 infatti è troppo.

se faccio un print_r($riga_select); mi stampa:

Array ( [0'] => 1 [id_prodotto] => 1 [1] => Tramezze [nome] => Tramezze [2] => 10x20x3 [dim] => 10x20x3 [3] => 4.5 [massa] => 4.5 [4] => 5.432 [compressione] => 5.432 [5] => Descrizione tramezze [varie] => Descrizione tramezze )

E sinceramente non ci capisco nulla in sta stampa...io ho solo 6 campi.

risposto 10 anni fa
blow
blow
1
modificato 10 anni fa
X 0 X

ti mostra quello che ho detto io : cioè che ogni campo può essere chiamato o con il suo nome o con il suo numero :D

Array ( 

//---------------CAMPO ID_PRODOTTO o 0

[0] => 1 

[id_prodotto] => 1 

//---------------CAMPO NOME o 1

[1] => Tramezze 

[nome] => Tramezze 

//---------------CAMPO DIM o 2

[2] => 10x20x3 

[dim] => 10x20x3 

//---------------CAMPO MASSA o 3

[3] => 4.5 

[massa] => 4.5 

//---------------CAMPO COMPRESSIONE o 4

[4] => 5.432 

[compressione] => 5.432 

//---------------CAMPO VAIE o 5

[5] => Descrizione tramezze 

[varie] => Descrizione tramezze 

)

capito ora come funziona?

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

azz che stupido che sono hai ragione... grazie ancora  :D

risposto 10 anni fa
blow
blow
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda