gpt4 book ai didi

如果密码为 "("或 ")"或 "&",phpmysql 转储不起作用

转载 作者:行者123 更新时间:2023-11-30 22:05:54 25 4
gpt4 key购买 nike

我正在尝试执行 mysql 转储,但当数据库密码中包含“(”或“)”或“&”时出现问题。可能还有更多,但到目前为止我已经用这些字符进行了测试。我的脚本是:

$un = "user_name_here";
$pass = "gTbK5AQ)iuT";
$hn = "localhost";
$dbn = "database_name_here";
$exp = "export_path_here";
$output = array();
exec("mysqldump --user=$un --password=$pass --host=$hn $dbn > $exp", $output, $worked);

如果 $pass 中有“)”,脚本将无法运行。当我从密码中删除“)”时,转储工作正常,并根据需要以 sql 格式导出数据库。我有没有做错或密码不应该有这些字符?

最佳答案

如果您的密码包含可以被您的 shell 误解为控制序列的字符,那么您需要将值用引号引起来以确保它们被视为文字

exec("mysqldump --user=$un --password=\"$pass\" --host=$hn $dbn > $exp", $output, $worked);

请注意,如果您的密码包含文字引号,那么您也需要对它们进行转义

关于如果密码为 "("或 ")"或 "&",phpmysql 转储不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41803740/

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