MySql空结果集返回不同的格式

时间:2013-08-08 06:58:01

标签: php mysql arrays null bluehost

我试图在mysql服务器中的两个不同的表上执行两个简单的选择查询。这是我通过运行PHP脚本来做到这一点。两个查询都应该返回一个空结果集。但他们正在返回不同的格式。

City表返回一个简单的空值,其中Dealer表返回所有具有空值的列。

输出:

{**"dealer"**:[{"car_make":null,"state":null,"city":null,"company_name":null,"company_address":null,"phone":null,"mobile":null,"fax":null,"email":null,"website":null,"Data_Version":null}],**"city"**:null}

PHP脚本

<?php

$data_version = 5;

require 'DbConnect.php';


$query = ("SELECT * FROM `Dealer` WHERE `Data_Version` > $data_version");


if ($query_run = mysql_query($query)){

    while ($query_row = mysql_fetch_assoc($query_run)){

        $out [] = $query_row;

    }

}
else{
    echo 'Fail';
} 


$query1 = ("SELECT * FROM `City` WHERE `Data_Version` > $data_version");


if ($query_run1 = mysql_query($query1)){

    while ($query_row1 = mysql_fetch_assoc($query_run1)){

        $out1 [] = $query_row1;

    }

}
else{
    echo 'Fail';
} 


$Output=array('dealer'=>$out,'city'=>$out1); 

    echo(json_encode($Output));

?>

因此,由于格式不同,我无法处理它。这种不同格式的原因是什么?我该怎么做才能得到同样的结果?

表格方案

经销商表 “car_make”, “状态”, “城市”, “COMPANY_NAME”, “company_address”, “手机”, “手机”, “传真”, “电子邮件”, “网页”, “Data_Version”

城市表

city,state,Data_Version

(所有字段均为Varchar(50))

打印输出

Array([dealer] =&gt; Array([0] =&gt; Array([car_make] =&gt; [state] =&gt; [city] =&gt; [company_name] =&gt; [company_address] =&gt ; [phone] =&gt; [mobile] =&gt; [fax] =&gt; [email] =&gt; [website] =&gt; [Data_Version] =&gt;))[city] =&gt;)

1 个答案:

答案 0 :(得分:0)

这可能是由于两个原因: -

在city表中没有与您的查询匹配的行,因此它返回null值。

如果是经销商表,它可能会返回一行,其中所有值当前为空。

请检查!