由于我的服务器PDO版本存在错误,我已切换到使用MySQLi。但是,这提出了另一个问题,因为Zend_DB MySQLi adaptor没有exec函数。 (Zend PDO adaptor did),这意味着我无法执行sql脚本。 (包含DROP TABLE和CREATE TABLE查询的加载)。
所以我可以做的事情:
$sqlQuery = file_get_contents('schema.sql');
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
$db->exec($sqlQuery);
我无法使用Zend MySQLi Adapter找到一种方法。有什么想法吗?
答案 0 :(得分:1)
尝试:
$sqlQuery = file_get_contents('schema.sql');
$adapter = Zend_Db_Table_Abstract::getDefaultAdapter();
$mysqli = $adapter->getConnection(); // i think the returns the Mysqli Instance directly...
$mysqli->multi_query($sqlQuery);
答案 1 :(得分:0)
这就是我做的事情
$bootstrap = $application->getBootstrap();
$bootstrap->bootstrap(‘db’);
$config = $bootstrap->getResource(‘db’)->getConfig();
$runCommand = “mysql -h “.$config["host"].” -P “.$config["port"].” -u’”.$config["username"].”‘ -p’”.$config["password"].”‘ “.$config["dbname"].” < “.dirname(__FILE__) . ‘/schema.mysql.sql’;
echo $runCommand;
system($runCommand);
更多信息: http://www.unexpectedit.com/zend-php/zend-db-exec-a-sql-file