2011-12-20 74 views
0

可能重複:
JSON encode MySQL results我如何使用Ajax JSON格式返回一個SQL結果

這是使用MySQL取陣列以顯示結果。我如何使用JSON編碼替換以下標籤。 我想從數據庫中獲取表格,並且這可以完成輸出數據的工作......這是使用Mysql獲取數組來顯示結果。我如何使用JSON編碼替換以下標籤。

PHP File 
<?php 
$q=$_GET["q"]; 

$con = mysql_connect('localhost', 'peter', 'abc123'); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("ajax_demo", $con); 

$sql="SELECT * FROM user WHERE id = '".$q."'"; 

$result = mysql_query($sql); 

echo "<table border='1'> 
<tr> 
<th>Firstname</th> 
<th>Lastname</th> 
<th>Age</th> 
<th>Hometown</th> 
<th>Job</th> 
</tr>"; 

while($row = mysql_fetch_array($result)) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['FirstName'] . "</td>"; 
    echo "<td>" . $row['LastName'] . "</td>"; 
    echo "<td>" . $row['Age'] . "</td>"; 
    echo "<td>" . $row['Hometown'] . "</td>"; 
    echo "<td>" . $row['Job'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 

mysql_close($con); 
?> 
+3

我完全不知道你在問什麼,但[鮑比表(http://bobby-tables.com/)願意來玩。 – Quentin 2011-12-20 18:14:35

+0

你想要以json格式返回ajax的sql結果嗎? – JercSi 2011-12-20 18:59:07

+1

示例代碼易受[SQL注入](http://unixwiz.net/techtips/sql-injection.html)影響,這是一個非常嚴重的[安全風險](http://bobby-tables.com/) 。爲了解決這個問題,從過時的mysql擴展名切換到[PDO](http://php.net/PDO)並使用[prepared statements](http://www.php.net/PDO.prepared-statements),將值作爲參數傳遞給語句,而不是直接將它們插入到字符串中。如果您需要PDO教程,請嘗試[「用PHP和PDO編寫MySQL腳本」](http://www.kitebird.com/articles/php-pdo.html)。您保存的網站可能只是您自己的網站。 – outis 2011-12-20 19:18:51

回答

0
<?php 
while($r = mysql_fetch_assoc($result)) $rows[] = $r; 
print json_encode($rows); 
+0

非常感謝你@kenaniah – 2011-12-25 06:40:06