我试图在 mysql 服务器中的两个不同表上执行两个简单的选择查询。我通过运行 php 脚本来做到这一点。这两个查询都应该返回一个空结果集。但它们返回不同的格式。
城市表返回一个简单的空值,而经销商表返回所有具有空值的列。
输出:
{**"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","state","city","company_name","company_address","phone","mobile","fax","email","website","Data_Version"
城市表
城市、州、Data_Version
(所有字段均为 Varchar(50) )
打印输出
Array ( [经销商] => Array ( [0] => Array ( [car_make] => [州] => [城市] => [公司名称] => [公司地址] => [电话] => [手机] => [传真] => [电子邮件] => [网站] => [Data_Version] => ) )[城市] => )
最佳答案
这可能有两个原因:-
城市表中没有与您的查询匹配的行,因此返回空值。
对于经销商表,它可能会返回一行,其中所有值当前均为空。
请检查!
关于php - MySql 空结果集返回不同格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18119746/