【发布时间】:2021-02-15 13:33:44
【问题描述】:
我无法在 if 部分返回特定的用户查询(否则工作正常):
if ( isset( $_POST[ 'name' ] ) ) {
$person = $_POST[ 'name' ];
$stmt = $pdo->prepare("SELECT AVG(ans_1) AS Average FROM responses WHERE email =?");
$stmt->bind_param("s", $person);
$stmt->execute();
} else {
$stmt = $pdo->query("SELECT AVG(ans_1) AS Average FROM responses");
}
$result = $stmt->fetchColumn();
$json = json_encode($result);
echo $json;
php 由 ajax 调用,为变量提供 POST:
var user = "ratsnitchbrianthegoodtimeruiner";
$.ajax({
url: "test.php",
type: "POST",
data: {name: user},
dataType: "json",
success: function (data) {
alert(data);
}
});
我知道我的 ajax 脚本 POST 变量正在工作,因为当我将 dataType 更改为 html 并将 php 修改为只输入两个 echo 命令时,如下所示:
if ( isset( $_POST[ 'name' ] ) ) {
$person = $_POST[ 'name' ];
echo $person;
} else {
echo ("No one set");
}
alert(data) 提示成功。
所以我在 if 中的 PDO 语句一定有问题? else 返回数据就好了。
感谢您的帮助!
###################################
注意合并到这个问题的人:Receive JSON POST with PHP 不相关。
我能够很好地获取 POST 数据(用户名)。 (他们不在那个问题中)。
我在 else 语句中得到了很好的 json 响应(同样是该问题中的一个问题,在这里不是问题)。
90 分钟后..
【问题讨论】: