首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个文件的JSON格式错误

两个文件的JSON格式错误
EN

Stack Overflow用户
提问于 2013-04-30 02:22:51
回答 1查看 53关注 0票数 1

我想知道,我刚刚创建了我的数据表,但其中两个给出了JSON格式错误。我在这两个表中连接两个表。我尝试在phpmyadmin中运行查询,它工作得很好,下面是我的服务器端文件的一个示例:

代码语言:javascript
复制
<?php
$username="drup197";
$password="*****";
$database="census";
$server="localhost";

$link = mysqli_connect($server,$username,$password,$database);

//@mysql_select_db($database,$link) or die( "Unable to select database");
$query = "
    SELECT *   
    FROM national_age_gender_demographics INNER JOIN arizona_age_gender_demogrpahics
    WHERE national_age_gender_demographics.age_group = arizona_age_gender_demogrpahics.age_group
    ORDER BY national_age_gender_demographics.index_number";

$result = mysqli_query($link,$query);

if(!$result)  die( "Query: " . $query . "\nError:" . mysql_error() );

//print_r($row);
$tableData = '{"aaData": [[';
$numRows = $result->num_rows;
$row = mysqli_fetch_array($result);

for ($i = 0; $i < $numRows; $i++) {
    if ($i != 0) {
        $tableData .= ",[";
    }
    $tableData .= '"' . $row['age_group'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.both_pop'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.male_pop'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.female_pop'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.male_percent'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.female_percent'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.both_percent'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.males_per_100_females'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.both_pop'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.male_pop'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.female_pop'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.male_percent'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.female_percent'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.both_percent'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.males_per_100_females'] . '"]';
    if ($i != $numRows - 1) {
        $row = mysqli_fetch_array($result);
    }
}
$tableData .= ']}';
echo $tableData;
?>

有人知道这里出了什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2013-04-30 03:22:22

首先Steven是对的,最好使用json编码(或者至少更整洁)来创建你的json,把你从混乱的is和支架业务中解救出来。

我还建议使用mysqli_fetch_assoc而不是mysqli_fetch_array,因为您当前指定的as应该同时返回关联和编号结果(请参阅此处的http://php.net/manual/en/mysqli-result.fetch-array.php),这可能会弄乱您的结果。

例如:

代码语言:javascript
复制
...
$row = mysqli_fetch_assoc($result);
$json_data = json_encode($row);
echo $json_data;
?>

试一试,看看你是怎么做的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16285599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档