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

Php MySql空结果集返回不同的格式,php,mysql,arrays,null,bluehost,Php,Mysql,Arrays,Null,Bluehost,我试图在mysql服务器中的两个不同表上执行两个简单的select查询。这是我通过运行php脚本来实现的。这两个查询都应该返回一个空结果集。但它们返回的格式不同 City表返回一个简单的空值,其中as DELER表返回所有具有空值的列 输出: {**"dealer"**:[{"car_make":null,"state":null,"city":null,"company_name":null,"company_address":null,"phone":null,"mobile":null,"

我试图在mysql服务器中的两个不同表上执行两个简单的select查询。这是我通过运行php脚本来实现的。这两个查询都应该返回一个空结果集。但它们返回的格式不同

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

输出:

{**"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));

?>

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

表格模式a

经销商表 “汽车制造”、“州”、“市”、“公司名称”、“公司地址”、“电话”、“手机”、“传真”、“电子邮件”、“网站”、“数据版本”

城市表

城市、州、数据版本

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

打印输出


数组([经销商]=>数组([0]=>数组([汽车制造]=>[州]=>[城市]=>[公司名称]=>[公司地址]=>[电话]=>[手机]=>[传真]=>[电子邮件]=>[网站]=>[数据版本]=>)[城市]=>)

可能有两个原因:-

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

对于dealer表,它可能返回一行,其中所有值当前都为空


请检查

您应该停止使用不推荐使用的mysql库,转而使用mysqli。也许table city只包含一个column@cuewizchris或者当然是PDO…@cuewizchris:现在改变它是不可行的。。我以后会做的,请发布我没有检查过的表格。。表中没有空值的行