@Bubble_in_space

Как сделать выборку данных из Mysql и создать из них ассоциативный массив php?

имеется База данных вида:
5ce7f3db3a20d850077336.jpeg
длинной в 10-15 строк
я делаю запрос в бд и выборку по столбцам с переменными и их значениями
"SELECT `variable`, `value` FROM `_main`";
потом пытаюсь сделать из этого массив
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
страница ошибок не выдаёт,но при попытке вывести что то из массива
echo $row['logo'];
он оказывается пустым,подскажите пожалуйста,в чём может быть проблема и пути её решения
  • Вопрос задан
  • 1338 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Если подумать за автора, то ему надо это
$result= mysqli_query($conn, "SELECT value FROM _main WHERE variable = 'logo'");
$row = mysqli_fetch_assoc($result);
$logo = $row['value'];
В ПДО действительно будет проще
$logo = $pdo->query("SELECT value FROM _main WHERE variable = 'logo'")->fetchColumn();


Если нужен, как выясняется, словарь, где ключами являются значения колонки variable, то PDO без вариантов.
$settings = $pdo->query("SELECT variable, value FROM _main")->fetchAll(PDO::FETCH_KEY_PAIR);
echo $settings['logo'];

даст нам вожделенную картинку, поскольку метод fetchAll() с модификатором PDO::FETCH_KEY_PAIR
как раз и дает нам двумерный массив, где ключи - это содержимое перво....
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@rogiivs
Советую вам использовать PDO
Ответ написан
@kifirch
//я делаю запрос в бд и выборку по столбцам с переменными и их значениями
"SELECT `variable`, `value` FROM `_main` limit 10 (или) 15";
//потом пытаюсь сделать из этого массив
Делай так (PHP 7)
$rows = mysql_fetch_all($result, MYSQLI_ASSOC); - все в массив
$neededRows = array_column($rows, 'value', 'variable'); // собираем массив - где значение - value, а . ключ - variable
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы