【发布时间】:2018-01-23 05:47:53
【问题描述】:
我将用户名作为过滤器发送到数据库,以仅使用 Ajax 获取与其关联的数据行,但我得到的响应为空。
$.ajax({
type: 'POST',
url: 'fetch_followed_users.php',
data: {
user : username,
},
dataType: 'json',
cache: false,
success: function(follows) {
var jArrayAllFollows=[];
jArrayAllFollows = follows;
},
});
这是来自 fetch_followed_users.php:
<?php
session_start();
require 'database.php';
$sql6 = $conn->prepare("SELECT * FROM followedusers WHERE user = :user");
$sql6->bindParam(':user', $_POST['user']);
$sql6->execute();
$results=array();
$results = $sql6->fetchAll(PDO::FETCH_COLUMN)
echo json_encode($results);
?>
如果有任何帮助,我将不胜感激。我知道这很简单,但我就是做不好。
【问题讨论】:
-
你能显示ajax请求响应吗?
-
您已经在
follows中拥有了全部数据,为什么还需要在成功块中进行另一个循环,如果您只关心计数,为什么不只是让服务器响应返回实际计数echo json_encode(array('count' => count in php)),然后只需阅读follows.count就可以了 -
你有什么回应吗?如果不是,则更改 ajax 调用中的删除数据类型标记
-
顺便说一句,这不是
mysqli吗?我认为在准备好的语句中不允许使用命名占位符,或者这是PDO,这有点混淆 -
我没有收到任何回复。 Ajax 正确地将用户名作为用户发送到 fetch_followed_users。我尝试删除数据类型。还有 Ghost,我还没有开设任何关于 mysqli 或 PDO 的课程,我正在解决这个问题,所以这就是为什么这一切都是一团糟,因为我一直在尝试使用这里的示例并使其发挥作用。这是我的旧代码和此处示例中的新代码的混合和混搭。我想旧的需要在这里更换。