我正在使用php进行Web服务以将数据编码为json。我的PHP代码是:
function getProgramDay($day)
{
global $DDBB_SERVER, $DDBB_USER, $DDBB_PASSWORD, $DDBB;
$sql = "SELECT program.id, programa.name FROM `mybd` WHERE program.day = '" . $day . "'";
$con = mysqli_connect($DDBB_SERVER, $DDBB_USER, $DDBB_PASSWORD, $DDBB);
if (!$con) {
die('Error de Conexión (' . mysqli_connect_errno() . '): ' . mysqli_connect_error());
}
if (!mysqli_set_charset($con, "utf8")) {
die("Error loading character set utf8:" . mysqli_error($con));
}
$result = mysqli_query($con, $sql);
$res = array();
// Prepare data
while ($row = mysqli_fetch_assoc($result)) {
$res[] = $row;
}
// Free resultset
mysqli_free_result($result);
// Close connection
mysqli_close($con);
// Return data
return $res;
}
这个函数在json中的结果是:
[{"id":"1","nombre":"Hello"}]
我希望结果如下:
{"results":[{"id":"1","nombre":"Hello"}]}
我该怎么做?我试过但不行:
return "{'results':" .$res . "}";
非常感谢你: - )
答案 0 :(得分:6)
return json_encode(array("results"=>$res));
如评论中所述,如果你想返回一个数组并在调用代码中创建json,那就这样做:
return array("results"=>$res);
答案 1 :(得分:0)
您的输出
[{"id":"1","nombre":"Hello"}]
是一个数组(你建立的女巫)// Prepare data
while ($row = mysqli_fetch_assoc($result)) {
$res[] = $row;
}
你想要的是一个对象
object(stdClass)#6 (1) {
["results"] => array(1) {
[0] => object(stdClass)#7 (2) {
["id"] => string(1) "1"
["nombre"] => string(5) "Hello"
}
}
}
所以使用mysqli_fetch_object更改您的准备数据并使用json_encode