Почему это возвращает одно значение, и когда я запрашиваю базу данных напрямую, я получаю несколько значений?
$statement = $sql->prepare
('select * from items where user_id = (select id from user where ?=? limit 1)');
$statement->bindParam('s', $property);
$statement->bindParam('s', $value);
$statement->execute();
$data = $statement->fetch(PDO::FETCH_ASSOC);
echo json_encode($data);
вместо
$data = $statement->fetch(PDO::FETCH_ASSOC);
пытаться
$data = $statement->fetchAll(PDO::FETCH_ASSOC);
У вас есть одна проблема в вашем sql, вы не можете связать столбцы / имена таблиц, вы должны изменить это where ? = ?
в where your_columns_name = ?
в этой строке:
$statement = $sql->prepare('select * from items where user_id = (select id from user where ?=? limit 1)');
и для получения всех ваших записей используйте:
$data = $statement->fetchAll(PDO::FETCH_ASSOC);