Я настроил среду AWS Elastic Beanstalk для PHP и добавил RDS DB. Я смог использовать MySQL Workbench для заполнения БД тремя таблицами и одной из таблиц одной строкой.
В PHP я подтвердил, что могу подключиться к БД, и запрос SHOW TABLES возвращает именно то, что я ожидал.
Однако, если я использую SELECT * from Users (одну из таблиц), он возвращает массив с числовым индексом, а не ассоциативный:
$username = mysqli_fetch_array($r, MYSQLI_ASSOC)[0]; // this gives me the value
$username = mysqli_fetch_array($r, MYSQLI_ASSOC)['username']; // this give me null (yes, field spelling correct)
Я также пробовал MYSQLI_BOTH с теми же результатами
Ключи массива чувствительны к регистру. Вы уверены, что имя столбца - username, а не USERNAME или Username?
Что вы увидите, если сделаете var_dump(mysqli_fetch_array($r, MYSQLI_ASSOC))?
Я всегда рекомендую не использовать SELECT *. Укажите нужные столбцы явно, тогда вы можете быть уверены, что они будут названы в ассоциативном массиве так, как вы ожидаете.
Код, который у вас есть, должен работать. Вы, должно быть, делаете что-то не так, о чем нам не говорите. Пожалуйста, создайте минимальный воспроизводимый пример






А как насчет mysqli_fetch_assoc ($ r)?