2013-01-20 29 views
0

基本PHP問題在這裏。以下SQL代碼返回一個包含名爲'date'的鍵的數組。我想要做的就是根據密鑰名稱解析「日期」值。任何幫助?基於鍵值在PHP中解析數組

$result = mysql_query("SELECT * FROM `table` WHERE columnName ='value'") or die(mysql_error()); 
$data = array(); 
while ($row = mysql_fetch_assoc($result)) 
{ 
    $data[] = $row; 
} 
echo $data->{'date'} 
+0

不,你做的是調用一個對象的屬性,我的意思是'$數據 - > { '日期'}' – ajreal

+1

[**請不要在新的代碼中使用'mysql_ *'功能** ](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

+0

只是一個建議,你可以使用NOTORM來照顧sql查詢,一個很棒的庫http://www.notorm.com/ –

回答

1

確定這裏你去

用foreach

foreach($data as $key => $value) 
{ 
    if($key == 'date') 
    { 
     // do you parsing stuff 
    } 
} 

沒有的foreach

$parsing_date = $data['date']; 
1

您使用的數組,你不能對對象語法。

echo $data['date'], 
0
foreach($data as $key => $value) 
{ 
    if ($key == 'date') 
    { 
     echo "Date Value: '".$value."'"; 
     // Do your stuffs... 
     echo "Date Final Value: '".$value."'"; 
    } 
} 
0

mysql_fetch_assoc返回一個關聯陣列。這意味着它返回一個包含表名字段作爲鍵的數組。例如,如果您的表有3列「日期」,「名稱」和「顏色」

然後,您將通過以下方式訪問這些字段。

$result = mysql_query("SELECT * FROM `table` WHERE columnName ='value'") or die(mysql_error()); 
$data = array(); 

while ($row = mysql_fetch_assoc($result)) 
{ 
    echo $row['date']; //Prints the rows date field 
    echo $row['name']; //Prints the row name field and so on. 
}