내 쿼리에 문제가 발생하고, 내가없는 결과를 분류하는 노력 지난 2 일을 보내고 있었다, 그래서 나는 한 (마지막 제외)를 두 번 모든 개체를 검색하는 내가 여기서 물을 수 있다고 생각했다. 미리 감사드립니다.내 요청은 데이터를 가져 오는 중 오류입니다 두 번
PS : 나는 데이터가 두 번 검색됩니다 phpMyAdmin에 그것을 실행하면
내가 진행을했습니다, 오류가 쿼리에서 비롯됩니다.
$token = ***
$userid = ***
$followingposts = $db->query('
SELECT
personal_posts.id,
personal_posts.body,
personal_posts.posted_at,
personal_posts.postimg,
personal_posts.likes,
users.`username`
FROM users, personal_posts, followers
WHERE (
personal_posts.user_id = followers.user_id
OR personal_posts.user_id = :userid
)
AND users.id = personal_posts.user_id
AND follower_id = :userid
ORDER BY personal_posts.posted_at DESC;
', array(':userid'=>$userid), array(':userid'=>$userid));
$response = "[";
foreach($followingposts as $post) {
$response .= "{";
$response .= '"PostId": '.$post['id'].',';
$response .= '"PostBody": "'.$post['body'].'",';
$response .= '"PostedBy": "'.$post['username'].'",';
$response .= '"PostedAt": "'.$post['posted_at'].'",';
$response .= '"PostImage": "'.$post['postimg'].'",';
$response .= '"Likes": '.$post['likes'].'';
$response .= "},";
}
$response = substr($response, 0, strlen($response)-1);
$response .= "]";
http_response_code(200);
echo $response;
class DB {
private $pdo;
public function __construct() {
$pdo = new PDO('****');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->pdo = $pdo;
}
public function query($query, $params = array()) {
$statement = $this->pdo->prepare($query);
$statement->execute($params);
if (explode(' ', $query)[0] == 'SELECT') {
$data = $statement->fetchAll(PDO::FETCH_ASSOC);
return $data;
}
}
}
이 ** 자신의 JSON 롤 절대로 정확한 대체합니다. ['json_encode()'] (http://php.net/manual/function.json-encode.php) – Phil
'$ db-> query()'에 대한 인수가 잘못되었습니다. 두 번째 인수는 'array (': userid'=> $ userid)'. –
어떤 드라이버를 사용하고 있습니까? – chris85