Php 为什么json_encode返回空值?
我是PHP新手。我的问题是json_encode返回的空指针。我正在尝试从mamp服务器上的mysql数据库获取数据。我做错了什么??我应该使用类似utf8\u编码的东西??我已经试过了,没有什么特别的事情发生这是我的密码:Php 为什么json_encode返回空值?,php,mysql,mamp,Php,Mysql,Mamp,我是PHP新手。我的问题是json_encode返回的空指针。我正在尝试从mamp服务器上的mysql数据库获取数据。我做错了什么??我应该使用类似utf8\u编码的东西??我已经试过了,没有什么特别的事情发生这是我的密码: <?php $servername = "localhost"; $username = "root"; $password = "root"; $database = "authors"; $db = new mys
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$database = "authors";
$db = new mysqli($servername, $username, $password, $database);
if (!$db){
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM names";
if ($result = mysqli_query($db, $sql)){
$resultArray = array();
$tempArray = array();
while($row = $result->fetch_object()){
$tempArray = $row;
array_push($resultArray, $tempArray);
}
header('Content-type: application/json');
print_r( $resultArray );
$s = json_encode($resultArray);
echo $s;
if( $s = NULL )
{
echo "Nullpointer";
}
elseif( $s == "" )
{
echo "Empty string";
}
}
$db->close();
?>
更新代码:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$database = "authors";
$db = new mysqli($servername, $username, $password, $database);
if (!$db){
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM names";
if ($result = mysqli_query($db, $sql)){
$resultArray = array();
$tempArray = array();
while($row = $result->fetch_object()){
$tempArray = $row;
array_push($resultArray, $tempArray);
}
header('Content-type: application/json');
print_r( $resultArray );
$s = json_encode($resultArray);
echo $s;
if( $s == false )
{
echo "Nullpointer";
}
elseif( $s == "" )
{
echo "Empty string";
}
else
{
echo "It's gooood";
}
}
$db->close();
?>
你们能解决的问题是什么
echo json_last_error();
echo json_last_error_msg();
$s = json_encode($resultArray, JSON_UNESCAPED_UNICODE);
如果($s=NULL)
在这里应该是==
instead@Adrian . json_encode从不返回NULL
。它返回一个字符串,或FALSE。首先修复此问题,它可能会改变很多事情:)这样做会删除$s值并破坏测试逻辑。输出是:数组([0]=>stdClass对象([FirstName]=>Adrian[LastName]=>Kaczmarek)[1]=>stdClass对象([FirstName]=>Krzysztof[LastName]=>Rózga))空指针$s==null,$s==“”与$s==false相同。请参阅严格等于(==vs.==)
echo json_last_error();
echo json_last_error_msg();
$s = json_encode($resultArray, JSON_UNESCAPED_UNICODE);