本文整理汇总了PHP中MDB2类的典型用法代码示例。如果您正苦于以下问题:PHP MDB2类的具体用法?PHP MDB2怎么用?PHP MDB2使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MDB2类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: datatype_test_callback
/**
* A test callback function to be used in the test class below for
* ensuring that custom datatype callback features are handled
* correctly.
*
* @param MDB2 $db The MDB2 database reource object.
* @param string $method The name of the MDB2_Driver_Datatype_Common method
* the callback function was called from. One of
* "getValidTypes", "convertResult", "getDeclaration",
* "compareDefinition", "quote" and "mapPrepareDatatype".
* See {@link MDB2_Driver_Datatype_Common} for the
* details of what each method does.
* @param array $aParameters An array of parameters, being the parameters that
* were passed to the method calling the callback
* function.
* @return mixed Returns the appropriate value depending on the method that
* called the function. See {@link MDB2_Driver_Datatype_Common}
* for details of the expected return values of the five possible
* calling methods.
*/
function datatype_test_callback(&$db, $method, $aParameters)
{
// Ensure the datatype module is loaded
if (is_null($db->datatype)) {
$db->loadModule('Datatype', null, true);
}
// Lowercase method names for PHP4/PHP5 compatibility
$method = strtolower($method);
switch ($method) {
// For all cases, return a string that identifies that the
// callback method was able to call to the appropriate point
case 'getvalidtypes':
return 'datatype_test_callback::getvalidtypes';
case 'convertresult':
return 'datatype_test_callback::convertresult';
case 'getdeclaration':
return 'datatype_test_callback::getdeclaration';
case 'comparedefinition':
return 'datatype_test_callback::comparedefinition';
case 'quote':
return 'datatype_test_callback::quote';
case 'mappreparedatatype':
return 'datatype_test_callback::mappreparedatatype';
}
}
示例2: listar
/**
* Funcion que muestra el listado de medicamentos
* @return void
*/
function listar()
{
global $db;
$titulo = '';
if ($_REQUEST['tipo'] == '1') {
$titulo = 'MEDICAMENTOS';
} elseif ($_REQUEST['tipo'] == '2') {
$titulo = 'LABORATORIO';
} elseif ($_REQUEST['tipo'] == '3') {
$titulo = 'IMAGENOLOGIA';
} elseif ($_REQUEST['tipo'] == '4') {
$titulo = 'PROCEDIMIENTO';
}
// Database connection
$odbconn = MDB2::connect($db['dsn'], $db['opts']);
$odbconn->setFetchMode(MDB2_FETCHMODE_ASSOC);
$sql = "SELECT *\n FROM {$this->tabla}\n WHERE tipo = '{$_REQUEST['tipo']}'\n ";
if (isset($_REQUEST['buscar'])) {
if ($_REQUEST['palabra']) {
$sql .= " AND( upper(nombre) LIKE '%" . strtoupper($_REQUEST['palabra']) . "%')";
$show = true;
}
}
$sql .= " ORDER BY id ASC";
$pager_options = array('mode' => 'Sliding', 'perPage' => 16, 'delta' => 2, 'extraVars' => array('a' => $_REQUEST['a']));
$data = Pager_Wrapper_MDB2($odbconn, $sql, $pager_options);
// Mensaje a mostrar en el template
$msj = flashData();
// Variables usadas en el template
include getTemplate('sugerencia.lista.php');
return;
}
示例3: myDB
public function myDB($host, $user, $pwd, $db, $port)
{
$dsn = array('phptype' => 'pgsql', 'username' => $user, 'password' => $pwd, 'hostspec' => $host, 'database' => $db, 'port' => $port);
if ($this->log) {
$this->writeLog(print_r($dsn, true));
}
$options = array('result_buffering' => false);
$this->db =& MDB2::factory($dsn, $options);
//$this->db=& MDB2::connect($dsn,$options);
if (!$this->db || PEAR::isError($this->db)) {
if ($this->log) {
$this->writeLog('Connect Error: ' . $dns);
}
$this->dbFehler('Connect ' . print_r($dsn, true), $this->db->getMessage());
die($this->db->getMessage());
}
$this->db->setFetchMode(MDB2_FETCHMODE_ASSOC);
if ($this->log) {
$this->writeLog('Connect: ok ');
}
$sql = 'SELECT version()';
$rs = $this->getOne($sql);
if ($this->log) {
$this->writeLog(print_r($rs, true));
}
preg_match('/PostgreSQL\\s*([\\d]+)\\.([\\d]+)\\..*/', $rs['version'], $ver);
if ($ver[1] == '9' and $ver[2] >= '3' or $ver[1] >= '10') {
$this->JVer = true;
}
if ($this->log) {
$this->writeLog(print_r($ver, true) . "!" . $this->JVer . '!');
}
return $this->db;
}
示例4: connectDbLazy
/**
* Connect to databases, but create instance not before the first time
* a query gets executed.
*/
private function connectDbLazy()
{
$this->connection = MDB2::factory($this->dsn);
if (PEAR::isError($this->connection)) {
die("Error while lazy connecting: " . $this->connection->getMessage() . "\ndsn was: " . print_r($this->dsn) . "\n");
}
}
示例5: perform
/**
* add message data
*
* @param array $data
*/
function perform(&$data)
{
$mid = $this->B->db->nextId($this->B->sys['db']['table_prefix'] . 'earchive_messages');
if (MDB2::isError($mid)) {
trigger_error($result->getMessage() . "\n\nINFO: " . $result->userinfo . "\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
return FALSE;
}
$sql = '
INSERT INTO
' . $this->B->sys['db']['table_prefix'] . 'earchive_messages
(mid,lid,sender,subject,mdate,body,folder)
VALUES
(' . $mid . ',
' . $data['lid'] . ',
"' . $data['sender'] . '",
"' . $data['subject'] . '",
"' . $data['mdate'] . '",
"' . $data['body'] . '",
"' . $data['folder'] . '")';
$result = $this->B->db->query($sql);
if (MDB2::isError($result)) {
trigger_error($result->getMessage() . "\n\nINFO: " . $result->userinfo . "\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
return FALSE;
}
return $mid;
}
示例6: db_connect
function db_connect($dbtype = 'mysql')
{
$dbhost = 'localhost';
$dbuser = 'analytics';
$dbpass = '4T4r!an@lyt5';
if ($dbtype == 'pear') {
$dsn = array('phptype' => 'mysql', 'username' => $dbuser, 'password' => $dbpass, 'hostspec' => $dbhost);
$options = array('debug' => 2, 'portability' => MDB2_PORTABILITY_ALL);
// uses MDB2::factory() to create the instance
// and also attempts to connect to the host
$mdb2 = MDB2::connect($dsn, $options);
if (PEAR::isError($mdb2)) {
error($mdb2->getMessage());
}
return $mdb2;
} else {
if ($dbtype == 'mysql') {
$mysql_conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (mysqli_connect_errno()) {
error("MySQL : Connect failed: %s\n" . mysqli_connect_error());
}
return $mysql_conn;
} else {
if ($dbtype == 'postgres') {
$postgres_conn = pg_connect("host={$dbhost} user={$dbuser} password={$dbpass}");
if (!$postgres_conn) {
error("PostGres : Connect failed: %s");
}
return $postgres_conn;
}
}
}
}
示例7: createInstance
public function createInstance()
{
require_once 'MDB2.php';
$dsn = $this->settings['db.dsn'];
$db = MDB2::factory($dsn);
return $db;
}
示例8: sanitizeDb
static function sanitizeDb($db)
{
if (is_string($db)) {
require_once 'MDB2.php';
// $dsn = MDB2::parseDSN($db);
$db = MDB2::connect($db);
} else {
if (is_object($db) && is_subclass_of($db, 'MDB2_Driver_Common')) {
/* MDB2 driver */
} else {
if (is_array($db) && count(array_diff(array(0, 1, 2, 3, 4), array_keys($db))) == 0) {
$dsnString = $db[0] . '://' . $db[2] . ':' . $db[3] . '@' . $db[1] . '/' . $db[4];
$db = MDB2::connect($dsnString);
} else {
if (is_array($db) && array_key_exists('phptype', $db)) {
$db = MDB2::connect($db);
} else {
throw new Exception('Invalid database');
}
}
}
}
$dsn = MDB2::parseDSN($db->dsn);
if (!$dsn['database']) {
// sometimes the database name is not set here, so try to recover
$dsn['database'] = $db->database_name;
}
return array($db, $dsn);
}
示例9: conectar
function conectar()
{
if (!isset($mdb2)) {
//Local
$db_name = 'root';
$db_password = '';
$db_server = 'localhost';
$db_database = 'coopcrucial';
//Nabica
/*$db_name = 'coopcrucial';
$db_password = 'Nabica2012';
$db_server = 'coopcrucial.db.5840507.hostedresource.com';
$db_database = 'coopcrucial';*/
$dsn = 'mysql://' . $db_name . ':' . $db_password . '@' . $db_server . '/' . $db_database;
try {
$mdb2 =& MDB2::factory($dsn, true);
if (MDB2::isError($mdb2)) {
die($mdb2->getmessage() . ' - ' . $mdb2->getUserInfo());
} else {
$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);
}
$mdb2 = array('mdb2' => $mdb2, 'dsn' => $dsn);
} catch (Exception $exc) {
echo $exc->getTraceAsString();
}
}
return $mdb2;
}
示例10: __construct
private function __construct()
{
Plank_Logger::log('Singleton', get_class($this) . ' singleton created.', L_TRACE);
$config = Plank_Config::getInstance();
$config = $config->getArea('database');
if (!$config || !isset($config['connections'])) {
throw new Plank_Exception_Database_Config('Databases not configured');
}
$connections = explode(',', $config['connections']);
foreach ($connections as $connection) {
if (isset($config['dsn_' . $connection])) {
$this->connections[$connection] = MDB2::factory($config['dsn_' . $connection]);
if (PEAR::isError($this->connections[$connection])) {
throw new Plank_Exception_Database('DB Error! ' . $this->connections[$connection]->getMessage() . ' ' . $this->connections[$connection]->getUserInfo());
}
if (SHOWDEBUG) {
$this->connections[$connection]->setOption('debug', 1);
$this->connections[$connection]->setOption('log_line_break', "<br/>");
}
$this->connections[$connection]->setOption('portability', MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_FIX_CASE);
$this->connections[$connection]->setFetchMode(MDB2_FETCHMODE_ASSOC);
if (PEAR::isError($this->connections[$connection])) {
throw new Plank_Exception_Database_Connection('Error connecting ' . $connection . ': ' . $this->connections[$connection]->getMessage() . ' ' . $this->connections[$connection]->getUserInfo());
}
} else {
throw new Plank_Exception_Database_Config('No DSN for DB Connection ' . $connection);
}
}
}
示例11: array
/**
* This function is a replacement for ADONewConnection, it does some
* basic additional configuration and prepares the table prefix stuff
*
* @param $conf usually $conf['database'] in Flyspray
* @return object
*/
function &NewDatabase($conf = array())
{
if (!is_array($conf) || extract($conf, EXTR_REFS | EXTR_SKIP) < 5) {
die('Flyspray was unable to connect to the database. ' . 'Check your settings in flyspray.conf.php');
}
$dbpass = rawurlencode($dbpass);
if ($dbtype == 'sqlite') {
$dsn = "{$dbtype}:///{$dbname}?mode=0666";
} else {
$dsn = "{$dbtype}://{$dbuser}:{$dbpass}@{$dbhost}/{$dbname}?charset=utf8";
}
$db =& MDB2::factory($dsn);
$db->loadModule('Extended', 'x', false);
if (defined('IN_UPGRADER') || defined('IN_SETUP')) {
$db->loadModule('Manager');
}
$dbprefix = isset($dbprefix) ? $dbprefix : '';
if ($db === false || !empty($dbprefix) && !preg_match('/^[a-z][a-z0-9_]+$/i', $dbprefix)) {
die('Flyspray was unable to connect to the database. ' . 'Check your settings in flyspray.conf.php');
}
define('DB_PREFIX', $dbprefix);
$db->setFetchMode(MDB2_FETCHMODE_ASSOC);
$db->setOption('debug', true);
$db->setOption('debug_handler', '_table_prefix');
$db->setOption('quote_identifier', true);
// upgrader can handle that on its own
if (!defined('IN_UPGRADER') && !defined('IN_SETUP') || defined('DEBUG_SQL')) {
$db->setErrorHandling(PEAR_ERROR_CALLBACK, 'show_dberror');
}
return $db;
}
示例12: R3AppInitDB
function R3AppInitDB()
{
global $mdb2;
global $dsn;
require_once 'MDB2.php';
if (!isset($dsn) || $dsn == '') {
throw new Exception('Missing $dsn');
}
$txtDsn = $dsn['dbtype'] . '://' . $dsn['dbuser'] . ':' . $dsn['dbpass'] . '@' . $dsn['dbhost'] . '/' . $dsn['dbname'];
$db = ezcDbFactory::create($txtDsn);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
PEAR::setErrorHandling(PEAR_ERROR_EXCEPTION);
$mdb2 = MDB2::singleton($txtDsn);
// Needed by user manager and import/export
ezcDbInstance::set($db);
if (isset($dsn['charset'])) {
$db->exec("SET client_encoding TO '{$dsn['charset']}'");
$mdb2->exec("SET client_encoding TO '{$dsn['charset']}'");
}
if (isset($dsn['search_path'])) {
$db->exec("SET search_path TO {$dsn['search_path']}, public");
$mdb2->exec("SET search_path TO {$dsn['search_path']}, public");
}
$db->exec("SET datestyle TO ISO");
$mdb2->exec("SET datestyle TO ISO");
}
示例13: perform
/**
* add user
*
* @param array $data
* @return int user id or false on error
*/
function perform($data)
{
$this->B->{$data}['error'] = FALSE;
$error =& $this->B->{$data}['error'];
if ($this->login_exists($data['user_data']['login']) > 0) {
$error = 'Login exists';
return FALSE;
}
$uid = $this->B->db->nextId($this->B->sys['db']['table_prefix'] . 'user_users');
if (MDB2::isError($uid)) {
trigger_error($uid->getMessage() . "\n" . $uid->userinfo . "\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
$error = 'Unexpected error';
return FALSE;
}
$sql = '
INSERT INTO
' . $this->B->sys['db']['table_prefix'] . 'user_users
(uid,forename,lastname,email,login,passwd,status,rights)
VALUES
(' . $uid . ',
"' . $data['user_data']['forename'] . '",
"' . $data['user_data']['lastname'] . '",
"' . $data['user_data']['email'] . '",
"' . $data['user_data']['login'] . '",
"' . $data['user_data']['passwd'] . '",
' . $data['user_data']['status'] . ',
' . $data['user_data']['rights'] . ')';
$res = $this->B->db->query($sql);
if (MDB2::isError($res)) {
trigger_error($res->getMessage() . "\n" . $res->userinfo . "\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
$error = 'Unexpected error';
return FALSE;
}
return $uid;
}
示例14: perform
/**
* add list data in db table
*
* @param array $data
*/
function perform(&$data)
{
// get list messages attachment folder string
$list_folder = commonUtil::unique_md5_str();
if (!@mkdir(SF_BASE_DIR . '/data/earchive/' . $list_folder, SF_DIR_MODE)) {
trigger_error("Cannot create list messages attachment folder! Contact the administrator.\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
return FALSE;
}
$lid = $this->B->db->nextId($this->B->sys['db']['table_prefix'] . 'earchive_lists');
if (MDB2::isError($lid)) {
trigger_error($result->getMessage() . "\n\nINFO: " . $result->userinfo . "\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
return FALSE;
}
$sql = '
INSERT INTO
' . $this->B->sys['db']['table_prefix'] . 'earchive_lists
(lid,name,email,emailserver,description,folder,status)
VALUES
(' . $lid . ',
"' . $data['name'] . '",
"' . $data['email'] . '",
"' . $data['emailserver'] . '",
"' . $data['description'] . '",
"' . $list_folder . '",
' . $data['status'] . ')';
$result = $this->B->db->query($sql);
if (MDB2::isError($result)) {
trigger_error($result->getMessage() . "\n\nINFO: " . $result->userinfo . "\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
return FALSE;
}
return TRUE;
}
示例15: perform
/**
* Assign array with message attachments data
*
* @param array $data
*/
function perform(&$data)
{
if (empty($data['mid']) || empty($data['var'])) {
trigger_error("'mid' or 'var' is empty!\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
return FALSE;
}
// get var name to store the result
$this->B->{$data}['var'] = array();
$_result =& $this->B->{$data}['var'];
$comma = '';
foreach ($data['fields'] as $f) {
$_fields .= $comma . $f;
$comma = ',';
}
$sql = "\n SELECT\n {$_fields}\n FROM\n {$this->B->sys['db']['table_prefix']}earchive_attach\n WHERE\n mid={$data['mid']} \n ORDER BY\n file ASC";
$result = $this->B->db->query($sql);
if (MDB2::isError($result)) {
trigger_error($result->getMessage() . "\n\nINFO: " . $result->userinfo . "\n\nFILE: " . __FILE__ . "\nLINE: " . __LINE__, E_USER_ERROR);
}
$_result = array();
if (is_object($result)) {
while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$tmp = array();
foreach ($data['fields'] as $f) {
$tmp[$f] = stripslashes($row[$f]);
}
$_result[] = $tmp;
}
}
return TRUE;
}