gpt4 book ai didi

mysql - MySQL 命令的 Bash 字符串延续

转载 作者:行者123 更新时间:2023-11-29 10:09:12 26 4
gpt4 key购买 nike

我试图在 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>';'

如果我在一行上运行该命令,则它可以正常工作。

最佳答案

反斜杠转义换行符,但下一行开头的空格仍然充当单词分隔符。所以该命令相当于:

mysql -e "DELETE FROM test.users WHERE username =" "'<a href=https://localhost>XSS Hack!</a>';"

如果在字符串中间结束一行,则不需要转义换行符。 MySQL 也不介意查询中的换行符。所以你可以简单地写:

mysql -e "DELETE FROM test.users WHERE username =
'<a href=https://localhost>XSS Hack!</a>';"

关于mysql - MySQL 命令的 Bash 字符串延续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51313460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com