2009-08-04 15 views
5

Bir sorgu veya dizgede SQL sorgu sonucunu çıkarmak mümkün mü? (php ve mysql'de kötüyüm) Diyelim ki sütunlarla db "aracılarım" var - agent_id, agent_fname, agent_lname, agent_dept.SQL sorgusu sonucu bir dize (veya değişkeni)

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

Bir dize veya bir değişken almak istiyorum, bu yüzden benim php dosyası (benim sorgunun sonucunu çıkarır yani $ my_variable) herhangi bir yerde kullanabilirsiniz:

bu sorguyu kullanma. Mümkün mü? Evet ise - nasıl?

Teşekkür ederiz!

* Birden fazla satıra sahibim.

cevap

3
$result = mysql_query($sql); 

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

ben gibi bir şey yaptığını tahmin ediyorum:

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

'i' Bugünlerde kullanıyor olması gereken budur ki 'iyileştirilmiş' içindir mysqli içinde.

Bu $ sonuç sizin çıktınız henüz değil. Sen aramalıdır:

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

yukarıdaki kod bir dizi şeklinde, size gerçek çıkışı $ satır verir.

0

Kayıtlarınızı temsil eden tek bir değişkene geçmek istiyorsanız. , iki boyutlu bir dizi oluşturabilir. gibi:

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

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

Bu size bir dizi değişkeni verir, $ kayıtları, sonuçlarınızın tümü olur. Hangi geçmek için kolay. (belki başka bir işleve bir argüman olarak.) HOWEVER, bu çok fazla bellek yiyebilen bir desen.

$ mysqli_result öğesinden geçmek çok daha iyidir.