我在这里正确接近了吗?这是我的iOS开发人员要我为他正在处理的应用程序的数据库值做的事情:
{“array”:[{“restID":1, etc.}, {“restID":2, etc.}, {“restID”:3, etc.}, {“restID”:4, etc.}], “error":""}
现在我的PHP代码是:
if ($stmt = $mysqli->prepare($query)) {
$stmt->bind_param("sssisi",$lat,$lat,$lng,$rest_price,$rest_genre,$eat_options);
$stmt->execute();
$stmt->bind_result($rest_id,$user_id,$rest_name,$lat,$lng,$rest_price,$rest_rating,$rest_genre,$eat_options,$result);
//define error array
$errArray = array('error' => '');
while ($stmt->fetch()) {
$row = array(
'restID' => $rest_id,
'userID' => $user_id,
'rest_name' => $rest_name,
'lat' => $lat,
'lng' => $lng,
'restPrice' => $rest_price,
'restRating' => $rest_rating,
'restGenre' => $rest_genre,
'eat_options' => $eat_options);
$rows['array'][] = $row;
}
echo json_encode($rows);
}....
其中输出以下内容:
{“array”:[{“restID":1, etc.}, {“restID":2, etc.}, {“restID”:3, etc.}, {“restID”:4, etc.}]}
注意我无法在那里放入数组,否则我会得到一些疯狂的东西或PHP的语法错误。请指教!如何使用我正在使用的当前代码的第一个示例?我需要在PHP中操作什么?再一次,我想要
{“array”:[{“restID":1, etc.}, {“restID":2, etc.}, {“restID”:3, etc.}, {“restID”:4, etc.}], “error":""}
不会
{“array”:[{“restID":1, etc.}, {“restID":2, etc.}, {“restID”:3, etc.}, {“restID”:4, etc.}]}
答案 0 :(得分:3)
将错误数组合并到行数组中,如下所示:
echo json_encode(array_merge($rows, $errArray));
答案 1 :(得分:2)
试试这个
$rows['error'] = 'Error message'
答案 2 :(得分:0)
你使errArray成为一个包含一个元素的单独数组,一个名为error的键。您的代码不会将其添加到另一个编码为JSON的代码中。