使用php将数据编码为json
我正在用php做一个web服务,将数据编码为json。我的php代码是:使用php将数据编码为json,php,json,Php,Json,我正在用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
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 . "}";
非常感谢:-)
如注释中所述,如果要返回数组并在调用代码中创建json,请执行以下操作:
return array("results"=>$res);
如注释中所述,如果要返回数组并在调用代码中创建json,请执行以下操作:
return array("results"=>$res);
你的产出
[{"id":"1","nombre":"Hello"}]
是一个数组(使用它构建)//准备数据
while($row=mysqli\u fetch\u assoc($result)){
$res[]=$row;
}
你想要的是一个对象
对象(stdClass)#6(1){
[“结果”]=>数组(1){
[0]=>对象(stdClass)#7(2){
[“id”]=>字符串(1)“1”
[“nombre”]=>字符串(5)“你好”
}
}
}
因此,使用json_encode更改您的准备数据并使用json_encode
[{"id":"1","nombre":"Hello"}]
是一个数组(使用它构建)//准备数据
while($row=mysqli\u fetch\u assoc($result)){
$res[]=$row;
}
你想要的是一个对象
对象(stdClass)#6(1){
[“结果”]=>数组(1){
[0]=>对象(stdClass)#7(2){
[“id”]=>字符串(1)“1”
[“nombre”]=>字符串(5)“你好”
}
}
}
因此,使用json_encode更改您的准备数据,但不能使用我的示例代码?感谢您的代码可能容易受到sql注入攻击<代码>$res['results'][]=$row代码>但不能用我的示例代码来实现?感谢您的代码可能容易受到sql注入攻击<代码>$res['results'][]=$row我希望调用代码中调用了
json\u encode
(他说他得到了json),所以他不应该做两次,只需返回php arrayThanks,它会放入“{\”结果\“:使用json验证器,它会说这不是有效的json,我如何才能退出此\?非常感谢much@Igor这是因为您使用了两次json_encode-按照上面修改的代码执行(或查看我对您的问题的评论),我希望调用代码中调用json_encode
(正如他所说,他得到了json),所以他不应该做两次,只需返回php数组存储库,它会放入“{\”results\”:使用json验证程序,它会说这不是有效的json,我怎么能退出这个\?谢谢much@Igor这是因为您使用了两次json_encode-按照上面修改的代码进行操作(或者查看我对您的问题的评论)