我试图在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;)
答案 0 :(得分:0)
这可能是由于两个原因: -
在city表中没有与您的查询匹配的行,因此它返回null值。
如果是经销商表,它可能会返回一行,其中所有值当前为空。
请检查!