2011-12-20 66 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