在JSON中使用php变量

时间:2013-05-18 08:03:07

标签: php json

我有查询在php文件中查找用户的信息。我在同一个文件中使用json_encode将数据发送到Ajax,以便可以使用.html()函数显示它。
问题是,当我使用json_encode时,php变量不起作用。

让我们假设我的php看起来像这样: -

foreach($pdo->query("SELECT * FROM Users WHERE ID='$id'") as $row) {
    $firstname = $row['FirstName'];
    $lastname = $row['LastName'];
}
$fullname = $firstname . " " . $lastname;
$data = array("success"=> true,"inpt"=>"<p>My name is $fullname</p>");
echo json_encode($data);
header("Content-Type: application/json");


我得到的是 - &gt;我的名字是

如何使它工作?

我尝试使用$data = array("u_data"=> 'own',"inpt"=>"<p>My name is ".$fullname."</p>");但它不起作用..

2 个答案:

答案 0 :(得分:2)

只有在调用之前没有输出任何内容时,

header()才有效。因此,您应该交换echoheader()

header("Content-Type: application/json");
echo json_encode($data);

答案 1 :(得分:2)

<击>

<击>
$fullname = $firstname . " " . $lastname;
                       ^     ^

PHP字符串连接运算符为.

(在那之后很好地修复代码。)

您应该进一步改进代码逻辑。如果SQL查询没有结果,则变量将是未定义的,您将获得意外结果。你需要专门处理这个案子。