本文整理汇总了PHP中CRM_Core_DAO::getConnection方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_DAO::getConnection方法的具体用法?PHP CRM_Core_DAO::getConnection怎么用?PHP CRM_Core_DAO::getConnection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_DAO
的用法示例。
在下文中一共展示了CRM_Core_DAO::getConnection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sourceSQLFile
/**
* @param string|NULL $dsn
* Use NULL to load the default/active connection from CRM_Core_DAO.
* Otherwise, give a full DSN string.
* @param string $fileName
* @param null $prefix
* @param bool $isQueryString
* @param bool $dieOnErrors
*/
public static function sourceSQLFile($dsn, $fileName, $prefix = NULL, $isQueryString = FALSE, $dieOnErrors = TRUE)
{
if ($dsn === NULL) {
$db = CRM_Core_DAO::getConnection();
} else {
require_once 'DB.php';
$db = DB::connect($dsn);
}
if (PEAR::isError($db)) {
die("Cannot open {$dsn}: " . $db->getMessage());
}
if (CRM_Utils_Constant::value('CIVICRM_MYSQL_STRICT', CRM_Utils_System::isDevelopment())) {
$db->query('SET SESSION sql_mode = STRICT_TRANS_TABLES');
}
$db->query('SET NAMES utf8');
$transactionId = CRM_Utils_Type::escape(CRM_Utils_Request::id(), 'String');
$db->query('SET @uniqueID = ' . "'{$transactionId}'");
if (!$isQueryString) {
$string = $prefix . file_get_contents($fileName);
} else {
// use filename as query string
$string = $prefix . $fileName;
}
// get rid of comments starting with # and --
$string = preg_replace("/^#[^\n]*\$/m", "\n", $string);
$string = preg_replace("/^(--[^-]).*/m", "\n", $string);
$queries = preg_split('/;\\s*$/m', $string);
foreach ($queries as $query) {
$query = trim($query);
if (!empty($query)) {
CRM_Core_Error::debug_query($query);
$res =& $db->query($query);
if (PEAR::isError($res)) {
if ($dieOnErrors) {
die("Cannot execute {$query}: " . $res->getMessage());
} else {
echo "Cannot execute {$query}: " . $res->getMessage() . "<p>";
}
}
}
}
}