function populateDatabase($sqlfile, $db) { if (!($buffer = file_get_contents($sqlfile))) { return -1; } $queries = splitSql($buffer); $q = new mysql(); foreach ($queries as $query) { $query = trim($query); if ($query != '' && $query[0] != '#') { $query = str_replace("#__", "jos_", $query); $q->QUERY_SQL($query, $db); $count = $count + 1; write_events("Execute query {$count}"); if (!$q->ok) { write_events($q->mysql_error); } } } }
<?php $_POST['sql'] = stripslashes($_POST['sql']); if (strtoupper(substr($_POST['sql'], 0, 6)) == "SELECT") { include 'table_view.php'; } else { $db = new Database($_GET['db']); $query = $_POST['sql']; $singleQueries = splitSql($query); $num_queries = count($singleQueries); for ($i = 0; $i < $num_queries; $i++) { $query = $singleQueries[$i]; $result = $db->executeQuery($query); if ($result) { eval("\$gui_message2 .= \"" . gettemplate("message_sql_execute_success") . "\";"); } else { eval("\$gui_message2 .= \"" . gettemplate("message_sql_execute_failure") . "\";"); } } unset($db); include "{$_POST['referto']}"; }
/** * 执行mysql.sql文件,创建数据表等 * @param string $sql sql语句 */ function executeSql($sql) { $sqls = splitSql($sql); $command = Yii::app()->db->createCommand(); if (is_array($sqls)) { foreach ($sqls as $sql) { if (trim($sql) != '') { $command->setText($sql)->execute(); } } } else { $command->setText($sqls)->execute(); } return true; }