在bash脚本中运行某些测试时,我正在尝试清理数据库,但以下行继续尝试不起作用:
mysql -e "DELETE FROM test.users WHERE username ="\
"'<a href=https://localhost>XSS Hack!</a>';"
我得到了错误
ERROR 1044 (42000): Access denied for user 'web'@'localhost' to database ''<a href=https://localhost>XSS Hack!</a>';'
如果我在一行上运行这个命令,它就可以正常工作。
1条答案
按热度按时间ulydmbyx1#
反斜杠转义换行符,但下一行开头的空格仍充当单词分隔符。因此该命令等效于:
如果在字符串中间结束一行,则不需要转义换行符。mysql也不介意查询中的换行。所以你可以写: