2014-01-12 99 views
0

我只是通過我的php文件輸出錯誤。我相信這是一個簡單的解決方案。 雖然它應該顯示數據,但它正在顯示它。Php從mysql數據庫輸出Json編碼的數據

[{"first_name":"first_name","mobile_phone":"mobile_phone"},` 

這裏是我的php文件。真的希望這是一個簡單的修復。謝謝

<?php 

    function connect() { 


     // Connecting to mysql database 
     $con = mysql_connect(private); 

     // Selecing database 
     $db = mysql_select_db("intraweb_db") or die(mysql_error()) or die(mysql_error()); 

     // returing connection cursor 
     return $con; 
    } 




//end of connect to db 
connect(); 

$sql=mysql_query("SELECT 'first_name', 'mobile_phone' FROM `admin_contacts`"); 

$output = array(); 
while($r = mysql_fetch_assoc($sql)){ 
    $output[]=$r; 

} 
echo json_encode($output); 

?> 

太棒了;)謝謝你們。得到它的工作

+0

[**請不要使用'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)。 – h2ooooooo

+0

'mysql_ *'已棄用,請考慮使用'mysqli'或'PDO'。您可以在'json_encode'函數之前使用'print_r($ output)'並更新我們 - 輸出是什麼。 –

+1

對於列名使用反引號或不使用引號。 –

回答

2

你在做錯你的查詢。請勿在列名中使用單引號或雙引號。

試試這個:

$sql=mysql_query("SELECT first_name,mobile_phone FROM `admin_contacts`"); 
$output = array(); 
while($r = mysql_fetch_assoc($sql)){ 
    $output[]=$r;  
} 
echo json_encode($output); 

?> 

還需要在該行改變:

$db = mysql_select_db("intraweb_db") or die(mysql_error()) or die(mysql_error()); 

$db = mysql_select_db("intraweb_db") or die(mysql_error()); 
+0

詳細說明,'first_name''和''mobile_phone''的單引號使得mysql將它們作爲字符串返回,而不是使用這些名稱的列中的值。 (你應該使用反引號) – towr

+0

@ user3169485:你試過這個嗎?如果它工作,然後接受一個答案。 –