Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JSON中使用php变量_Php_Json - Fatal编程技术网

在JSON中使用php变量

在JSON中使用php变量,php,json,Php,Json,我有一个查询,可以在php文件中查找用户信息。我在同一个文件中使用json\u encode将数据发送到Ajax,以便可以使用.html()函数显示数据。 问题是,当我使用json\u encode时,php变量不起作用。 假设我的php如下所示:- foreach($pdo->query("SELECT * FROM Users WHERE ID='$id'") as $row) { $firstname = $row['FirstName']; $lastname =

我有一个查询,可以在
php
文件中查找用户信息。我在同一个文件中使用
json\u encode
将数据发送到
Ajax
,以便可以使用
.html()
函数显示数据。
问题是,当我使用
json\u 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");
foreach($pdo->query(“从ID='$ID''的用户中选择*)作为$row){
$firstname=$row['firstname'];
$lastname=$row['lastname'];
}
$fullname=$firstname。" " . $姓氏;
$data=array(“success”=>true,“inpt”=>“我的名字是$fullname

”; echo json_编码($data); 标题(“内容类型:application/json”);

我得到的是->我的名字是

如何让它工作?

我尝试使用
$data=array(“u_data”=>“own”,“inpt”=>”我的名字是“$fullname”。

但它不起作用。

header()
只有在调用之前没有输出任何内容时才有效。因此,您应该交换
echo
header()

PHP字符串连接运算符是

(很好地修复了那里的代码。)


不过,您应该进一步改进代码逻辑。如果SQL查询没有结果,变量将未定义,您将得到意外的结果。您需要专门处理这种情况。

您确定首先要获取您的名字和姓氏值吗?是的,我确定按照豪诚的建议交换最后两行。如果你看看ChromeDeveloper,你会非常清楚地看到服务器的响应。如果它响应有效的数据,那么你的javascript代码就被破坏了。好吧,你写的代码肯定是错误的,你需要修复它。如果除此之外还有其他问题,请使用
var\u dump
进行调试,以检查发生了什么或没有发生什么,以及所有变量值是否符合预期。
header("Content-Type: application/json");
echo json_encode($data);
$fullname = $firstname . " " . $lastname;
                       ^     ^