在 PHP 中执行 MySQL *.sql 文件
创建网站数据库时,可能会遇到需要执行 的场景。 PHP 中的 sql 文件来自动生成站点。虽然 Zend_Framework 可能很有用,但由于 SQL 语句不一致,直接从 PHP 运行 .sql 文件可能会很困难。
解决方案:使用 shell_exec()
推荐的方法是使用 shell_exec() 调用 mysql 工具来执行 *.sql 脚本。下面是一个示例:
$command = 'mysql' . ' --host=' . $vals['db_host'] . ' --user=' . $vals['db_user'] . ' --password=' . $vals['db_pass'] . ' --database=' . $vals['db_name'] . ' --execute="SOURCE ' . $script_path ;
此命令使用必要的参数创建一个 MySQL 执行命令,以执行 $script_path 中指定的 *.sql 文件。
shell_exec() 之间的差异和 exec()
虽然这两个函数都执行外部命令,但它们有一些区别。 shell_exec() 捕获命令的输出并将其作为字符串返回,而 exec() 返回命令执行的状态。在这种情况下,首选 shell_exec() 来获取 MySQL 命令的输出。
其他注意事项
执行 *.sql 文件时,确保命令包含所有内容必要的参数(db_host、db_user、db_pass、db_name)并且您有足够的权限来执行该脚本。此外,使用 --execute="SOURCE ..." 选项而不是
以上是如何使用 shell_exec() 从 PHP 执行 MySQL *.sql 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!