Выходная переменная не работает должным образом

0

Я пытаюсь изучить PHP, но я что-то застрял. Интересно, сможет ли кто-нибудь из вас помочь мне.

Дело в том, что у меня есть такая переменная:

$sql = "SELECT * FROM 'settings' WHERE 'key' LIKE 'signing_key'";

if($result = mysqli_query($link, $sql)){

    if(mysqli_num_rows($result) > 0){


        while($row = mysqli_fetch_array($result)){
                $key = $row['value'];
        }

        mysqli_free_result($result);

    }
}

$Settings['SIGNING_KEY'] = $key;

Как вы можете видеть, переменная $ key получает содержимое из цикла while и выводит - пусть просто скажет - "12345".

Все выглядит правильно, когда я:

echo $Settings['SIGNING_KEY'];

он выводит "12345" на экран, как и ожидалось.

Странно: когда я вхожу:

$Settings['SIGNING_KEY'] = '12345';

в моем файле модуль, который я пытаюсь изменить, работает корректно. Но когда я вхожу:

$Settings['SIGNING_KEY'] = $key;

по какой-то причине модуль не может получить правильный ключ подписи.

Может кто-нибудь, пожалуйста, объясните мне, что я делаю неправильно?

Спасибо заранее и жаль, что не понял PHP, что еще многое!

Редактировать:

Просто немного больше объяснений:

Я пытаюсь получить строку ($key) из базы данных вместо того, чтобы помещать ее в файл PHP, поэтому она (переменная $key) может быть отредактирована всеми, у кого есть доступ к панели управления моего веб-сайта.

  • 2
    Потому что $ key устанавливается для самого последнего элемента в цикле.
  • 0
    ^ Конкатенация строк .. php.net/manual/en/language.operators.string.php
Показать ещё 11 комментариев
Теги:

1 ответ

-2

Возможно ли, что $key не назначен? Если вы хотите, чтобы первая совпадающая строка меняла while на if. Также попробуйте сбросить значение $key и добавить некоторые ошибки в ваши запросы (как в: mysqli_query($link, $sql) or die(mysqli_error($link))).

  • 1
    Это подходит как комментарий, и вы также допустили ошибку при обработке ошибок. Они используют mysqli_, а не mysql_. Изменить: это в соответствии с оригинальным stackoverflow.com/revisions/51755323/1
  • 0
    не мой отрицательный голос здесь, что вы только что получили.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню