2009-08-04 21 views
5

Czy można wyprowadzić wynik zapytania SQL w jednym ciągu lub zmiennej? (mam problemy w php i mysql) Załóżmy, że mam db "agentów" z kolumnami - agent_id, agent_name, agent_lname, agent_dept.Wynik zapytania SQL w łańcuchu znaków (lub zmiennej)

Korzystanie z tej kwerendy:

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

chcę uzyskać ciąg lub zmienna, więc można go używać w dowolnym miejscu mojego pliku php (my_variable tj $ który wysyła wynik mojego zapytania). Czy to możliwe? Jeśli tak - w jaki sposób?

Dziękujemy!

* Mam więcej niż jeden wiersz.

Odpowiedz

3
$result = mysql_query($sql); 

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

Jestem zakładając robisz coś takiego:

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

„ja” w mysqli jest „ulepszona”, który jest tym, co powinno być za pomocą tych dniach.

Ten wynik $ nie jest jeszcze twoim wynikiem. Musisz zadzwonić:

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

Powyższy kod daje $ row, który jest twoim aktualnym wynikiem, w postaci tablicy.

0

Jeśli chcesz przekazać pojedynczą zmienną reprezentującą twoje rekordy. Możesz może zbudować dwuwymiarową tablicę. na przykład:

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

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

Da ci to zmienną tablicową, $ records, wszystkie twoje wyniki. Co łatwo jest przekazać. (może jako argument do innej funkcji.) JEDNAK, jest to wzór, który może pochłonąć dużo pamięci.

Znacznie lepiej jest omijać $ mysqli_result.

Powiązane problemy