ds78662302 2018-01-28 13:54
浏览 90
已采纳

PHP转义字符串中的所有字符

I am using PHP's password_hash() to store some of my passwords and I want to echo and get the stored hash from my database. However, when I try to I keep getting errors because certain characters aren't escaped. Now the hashing, as it is random, I need a way to just get the raw data from the database without PHP sending me errors when I just want to echo out a simple line like:

echo "$2y$10$LYTZuvb7Ff2NeqxLjkp3KeZQmBrq3iaZ4eeY/cuUqz2nGA6wYgENq";
  • 写回答

1条回答 默认 最新

  • drpkcwwav20524605 2018-01-28 13:57
    关注

    Given what you posted for code and if I am getting what you're asking is that you need to encase the echo'd line in single quotes.

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

    Why? Because, the $ signs are interpreted as variable assignments in doubled quotes and PHP is trying to parse them as such.

    It may even throw undefined variables notices.

    You can also var_dump() the said row/variable or echo the row from the query.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?