PHP экранировать все символы в строке

Я использую PHP password_hash() для хранения некоторых моих паролей, и я хочу повторить и получить сохраненный хэш из моей базы данных. Однако, когда я пытаюсь, я продолжаю получать ошибки, потому что некоторые символы не экранированы. Теперь хеширование, поскольку оно является случайным, мне нужен способ просто получить необработанные данные из базы данных без того, чтобы PHP отправлял мне ошибки, когда я просто хочу вывести простую строку, например:

echo "$2y$10$LYTZuvb7Ff2NeqxLjkp3KeZQmBrq3iaZ4eeY/cuUqz2nGA6wYgENq";

person Fireal    schedule 28.01.2018    source источник


Ответы (1)


Учитывая то, что вы разместили для кода, и если я получаю то, что вы просите, это то, что вам нужно заключить эхо-строку в одинарные кавычки.

echo '$2y$10$LYTZuvb7Ff2NeqxLjkp3KeZQmBrq3iaZ4eeY/cuUqz2nGA6wYgENq';

Почему? Потому что знаки $ интерпретируются как присвоение значения переменной в двойных кавычках, и PHP пытается проанализировать их как таковые.

Он может даже выдавать уведомления о неопределенных переменных.

Вы также можете var_dump() указанной строки/переменной или вывести строку из запрос.

person Funk Forty Niner    schedule 28.01.2018
comment
Вау, не могу поверить, что я пропустил это. Спасибо! - person Fireal; 28.01.2018