PHP echo json始终为空值
我试图用PHP从mysql数据库返回一些JSON值 我尝试了很多方法,我认为我的代码是正确的,但它总是返回空白 这样我可以看到返回的值:PHP echo json始终为空值,php,json,Php,Json,我试图用PHP从mysql数据库返回一些JSON值 我尝试了很多方法,我认为我的代码是正确的,但它总是返回空白 这样我可以看到返回的值: echo $row['name']; 但是当我使用 json_编码 它返回空白 这是我的密码: <?php // $dbconfig = require_once('../config.php'); require_once('../DBConnection.php'); // $database = new DBConnection($dbconf
echo $row['name'];
但是当我使用
json_编码
它返回空白
这是我的密码:
<?php
// $dbconfig = require_once('../config.php');
require_once('../DBConnection.php');
// $database = new DBConnection($dbconfig);
// $sqlSelect = "select * from Estados";
// $rows = $database->getQuery($sqlSelect);
$response = array();
class EstadoDAO {
public function getEstados($dbconfig) {
$sqlSelect = "select * from Estados";
$database = new DBConnection($dbconfig);
try {
$rows = $database->getQuery($sqlSelect);
if ($rows) {
$response["estado"] = array();
foreach($rows as $row){
//echo $row['name']; // IT WORKS
$estado = array();
$estado['name'] = $row['name'];
array_push($response["estado"], $estado);
}
} else {
//zero linhas
$estado = array();
$estado['name'] = $row['ERRO'];
array_push($response["estado"], $estado);
}
} catch (Exception $e) {
}
$database->__destruct();
echo json_encode($response);
} //function
}// Class
需要使用它
utf8_编码
答案如下:
foreach($rows as $row){
//echo $row['name']; // IT WORKS
$estado = array();
$estado['name'] = utf8_encode($row['name']);
array_push($response["estado"], $estado);
}
这可能是因为您的记录中有未替换的unicode 使用
json\u编码($response,json\u UNESCAPED\u UNICODE)
所有字符串数据必须采用UTF-8编码
$response
在您的范围内不存在,除非您创建它(如果存在$rows)。将定义从文件顶部移到函数中。此外,如果没有行,else将抛出错误,因为既不存在$row
也不存在$response
。@aynber在函数中继续返回空白。使用json\u encode($response,json\u UNESCAPED\u UNICODE)
这可能是因为您的记录中使用了未替换的unicode。我很高兴这有帮助:)
foreach($rows as $row){
//echo $row['name']; // IT WORKS
$estado = array();
$estado['name'] = utf8_encode($row['name']);
array_push($response["estado"], $estado);
}