2010-11-30 103 views
0

我需要從mysql &中獲取兩個表列,然後用其他內容替換一列中的部分內容。這是我的方式,但它什麼也沒有顯示。如何通過php查詢獲取多個表列?

$query = "SELECT id, msg FROM msg2_qualities"; 
    $result = mysql_query($query);  
    $outArray = array(); 
    if ($result) { 
     while ($row = mysql_fetch_assoc($result)) 
       { 
        $row2 = str_replace('testWord','$row[0]',$row[1]); 
        $outArray[] = $row2; 
        } 
       } 
    echo json_encode($outArray); 

EDIT 我通過回聲& $行[0],$行[1]沒有值測試的代碼。但是,如果我運行查詢來從表中單列,然後正常工作像

 $query = "SELECT msg FROM msg2_qualities"; OR 
    $query = "SELECT id FROM msg2_qualities"; 
+2

您的主要問題是邏輯。缺乏邏輯,可以肯定。你在問如何獲取多列,但你真正的問題是遠離它。要查看多個列,您必須將它們回顯出來。只是回聲,沒有別的。沒有陣列,沒有替代,但只是回聲。當你迴應他們並確保你有你的專欄時,你會在其他地方看到你的問題。字符串語法可能是 – 2010-11-30 09:05:04

+0

語法錯誤是單引號中的$ row [0] ... – 2010-11-30 09:06:21

回答

2

嘗試圍繞去掉引號$row[0],並通過名字來描述字段,而不是指數:

$row2 = str_replace('testWord', $row['id'], $row['msg']); 
1

你正在使用mysql_fetch_assoc所以代碼應該是這樣的: -

while ($row = mysql_fetch_assoc($result)) 
{ 
    $row2 = str_replace('testWord',$row['id'],$row['msg1']); 
    $outArray[] = $row2; 
} 

謝謝。