Я сделал выбор, который имеет несколько выходов.
Но когда я пытаюсь вернуть, он возвращает только последний. Вот мой код...
$stmt->execute();
$row = $stmt->fetchAll();
$result = [];
foreach ($row as $fullName => $type) {
$result['fullName'] = $type['name'] . ' ' .$type['lastname'];
$result['class_type'] = $type['typ'];
var_dump($result['fullName']);
}
return $result;
Мой var-dump возвращает 4 результата, но мой return возвращает мне только последние результаты из var dump.
Что я здесь делаю неправильно?






Вы переписываете значения в своем коде. Вам нужно поместить каждый результат в массив. См. код ниже для справки.
$stmt->execute();
$row = $stmt->fetchAll();
$result = [ ];
foreach ($row as $fullName => $type) {
$result[] = [
'fullName' => $type['name'] . ' ' .$type['lastname'],
'class_type' => $type['typ'] ];
// var_dump($result['fullName']);
}
return $result;
Вам не нужно foreach, если вы правильно сформулируете свой запрос:
SELECT CONCAT(name, " ", lastname) AS fullName, typ AS class_type FROM table_name
Затем просто выберите все строки и верните их:
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
Эй, я пробовал что-то вроде этого
SELECT profile`.rolle, ( `profile`.`name` , " " , `profile`.nachname ) AS full_name,, но он возвращает Операнд должен содержать 1 столбец (столбцы)