2009-08-04 23 views
5

È possibile generare il risultato della query SQL in una stringa o variabile? (Sto male in php e mysql) Diciamo che ho db "agenti" con colonne - agent_id, agent_fname, agent_lname, agent_dept.Risultato query SQL in una stringa (o variabile)

Utilizzando questa query:

$sql = SELECT a.`agent_fname` FROM agents a WHERE a.`agent_dept` = 'FCA' 

voglio ottenere una stringa o una variabile, in modo da poter utilizzare in qualsiasi luogo del mio file php (vale a dire $ my_variable che emette il risultato della mia interrogazione). È possibile? Se sì, come?

Grazie!

* Ho più di una riga.

risposta

3
$result = mysql_query($sql); 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    printf("Name: %s", $row['agent_fname'],); 
} 
5

Sto assumendo che si sta facendo qualcosa di simile:

$result = mysqli_query ($link, $sql). 

La 'i' in mysqli è per 'migliorato' che è quello che dovrebbe essere l'utilizzo di questi giorni.

Questo $ result non è ancora stato pubblicato. È necessario chiamare:

while ($row = mysqli_fetch_assoc($result)) { 
    print_r ($row); 
} 

Il codice di cui sopra ti dà $ fila, che è la vostra uscita effettiva, sotto forma di un array.

0

Se si desidera passare attorno a una singola variabile che rappresenta i record. È possibile creare un array bidimensionale. come:

$records = array(); 
$mysqli_result = mysqli_query ($link, $sql); 

while ($row = mysqli_fetch_assoc($result)) { 
    $records[] = $row; 
} 

Questo vi darà una variabile di matrice, $ record, fornirà tutti i risultati. Che è facile da aggirare. (forse come argomento per un'altra funzione.) TUTTAVIA, questo è un modello che può consumare molta memoria.

È molto meglio passare attorno a $ mysqli_result.

Problemi correlati