Мой следующий SQL-запрос в PHP не работает полностью. Результат содержит только первую строку. Запрос полностью работает в PHPMyadmin, который возвращает мне все результаты.PHP MySQL запрос не возвращает все результаты
$select = "SELECT a.setID, a.setName, a.setPrimaryLanguage, a.setSecondaryLanguage
FROM Person_Set ps, Album a
WHERE ps.Person_username = :username
AND ps.Set_setID = a.setID";
try {
$stmt = $dbh->prepare($select, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$stmt->bindValue(":username", $username, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetch();
echo json_encode($result);
unset($stmt);
} catch (Exception $e) {
echo 'Exception : ' . $e->getMessage() . "\n";
}
Кроме того, если изменить критерии выбора для поиска строк, содержащих определенную строку, то результат пустой (возвращается «ложь»). Запрос ниже:
$select = "SELECT a.setID, a.setName, a.setPrimaryLanguage, a.setSecondaryLanguage
FROM Album a, Set_Card s
WHERE a.setName LIKE '%:searchText%'
AND a.setID = s.Set_setID
GROUP BY a.setID";
Я пытался различные способы подключения к MySQL и получить результаты, как
$results = $mysqli->query($query);
вместо того, чтобы использовать PDO. Однако результаты все те же. Может ли кто-нибудь помочь указать, где мои ошибки? Большое спасибо!
Try '$ результата = $ stmt-> fetchAll(); 'вместо' $ result = $ stmt-> fetch(); ' –
Кроме того, именованные заполнители' '%: searchText% '' не обязательно должны быть указаны – Ghost