PHP - 错误的JSON

时间:2018-03-25 10:03:01

标签: php android mysql

我正在编写一个PHP代码,用于在微调器中插入工单名称。 我需要一个名为JSON的{​​{1}}字符串以及 JSON 数组。 我想在android微调器中使用那个JSON字符串。 我只得到success = 1数组。 这是我的代码:

JSON

我希望输出如下:

        <?PHP
require_once('connection.php');
$workName = "SELECT workorder_name FROM workorder_category";
$con=mysqli_connect($server_name,$user_name,$password,$db);
$r = mysqli_query($con,$workName);


$result = array();
$resultArr = array('success' => true);
    while($row = mysqli_fetch_array($r)){

        array_push($result,array('$workOrderName'=>$row['workorder_name']));
        }
echo json_encode(array('result'=>$result));
mysqli_close($con);
?>

目前,我得到了像

这样的输出
{"success":1,result":[{"$workOrderName":"electrician"},{"$workOrderName":"plumber"},{"$workOrderName":"carpenter"}]}

2 个答案:

答案 0 :(得分:0)

不是创建两个数组,一个用于结果,一个用于成功,而是在一个数组中定义结构并附加到该数组:

ng build --prod --env=sandbox
docker build --rm -t ${REGISTRY}/${CONTAINER}:${TAG} .

注意:此示例使用短数组语法// The main structure $result = [ 'success' => 1, 'result' => [], ]; while($row = mysqli_fetch_array($r)){ // Append to the sub key "result" (which we already defined as an array) $result['result'][] = ['$workOrderName'=>$row['workorder_name']]; } // Just encode the complete array echo json_encode($result); (在PHP 5.4中引入)而不是长语法:[]。他们完全一样。

我还将array()更改为较短版本:array_push()

答案 1 :(得分:0)

ProductsWithALongName::find()
    ->alias('p')
    ->select(['p.id', 'p.selling_price','client.name'])
    ->leftjoin('all_the_clients as client', 'p.clientId = client.id')
    ->where(['p.id' => $var]);

这样可以正常工作。