从 PHP 运行 MySQL *.sql 文件
从 PHP 中执行 .sql 文件可能会带来挑战,特别是在自动化站点时一代。虽然在 PHP 中没有直接执行 .sql 脚本的方法,但使用 shell_exec() 调用 MySQL 工具可以提供解决方案。
Shell 执行方法
使用 shell_exec(),您可以构造一个命令,该命令使用适当的标志调用 mysql 工具,并且参数:
$command = 'mysql' . ' --host=' . $vals['db_host'] . ' --user=' . $vals['db_user'] . ' --password=' . $vals['db_pass'] . ' --database=' . $vals['db_name'] . ' --execute="SOURCE ' . $script_path;
使用 --execute="SOURCE ..." 传递文件名可确保执行文件。但请注意,使用 shell_exec() 需要您提供控制台访问权限,这在某些环境中可能不可用。
替代方法
要获得更灵活的解决方案,适用于 Windows 和 UNIX 平台,您可以使用以下命令:
$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' " . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";
该命令直接调用.sql 文件使用小于运算符 (<)。它不需要控制台访问,并提供了从 PHP 脚本执行 .sql 文件的可靠方法。
以上是如何从 PHP 运行 MySQL .sql 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!