本文整理汇总了PHP中xf_db_error函数的典型用法代码示例。如果您正苦于以下问题:PHP xf_db_error函数的具体用法?PHP xf_db_error怎么用?PHP xf_db_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了xf_db_error函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Dataface_PreferencesTool__createPreferencesTable
/**
* This function acts as a member method of the PreferencesTool class. It has
* been factored out for efficiency because it only needs to be run once.
* @see Dataface_PreferncesTool::_createPreferencesTable()
*/
function Dataface_PreferencesTool__createPreferencesTable()
{
$res = xf_db_query("create table if not exists `dataface__preferences` (\n\t\t\t`pref_id` int(11) unsigned not null auto_increment,\n\t\t\t`username` varchar(64) not null,\n\t\t\t`table` varchar(128) not null,\n\t\t\t`record_id` varchar(255) not null,\n\t\t\t`key` varchar(128) not null,\n\t\t\t`value` varchar(255) not null,\n\t\t\tprimary key (pref_id),\n\t\t\tindex `username` (`username`),\n\t\t\tindex `table` (`table`),\n\t\t\tindex `record_id` (`record_id`))", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
}
}
示例2: test_updateTranslationsTable
function test_updateTranslationsTable()
{
$app =& Dataface_Application::getInstance();
$tt = new Dataface_TranslationTool();
$tt->updateTranslationsTable();
$sql = "show columns from `dataface__translations`";
$res = xf_db_query($sql, $app->db());
if (!$res) {
trigger_error(xf_db_error($app->db()), E_USER_ERROR);
}
$cols = array();
while ($row = xf_db_fetch_assoc($res)) {
$cols[$row['Field']] = $row;
}
$this->assertEquals(array_keys($tt->schema), array_keys($cols));
$tt->schema['test_col'] = array('Field' => 'test_col', 'Type' => "int(11)", 'Extra' => '', 'Null' => '');
$tt->updateTranslationsTable();
$sql = "show columns from `dataface__translations`";
$res = xf_db_query($sql, $app->db());
if (!$res) {
trigger_error(xf_db_error($app->db()), E_USER_ERROR);
}
$cols = array();
while ($row = xf_db_fetch_assoc($res)) {
$cols[$row['Field']] = $row;
}
$this->assertEquals(array_keys($tt->schema), array_keys($cols));
}
示例3: createRecordsTable
public static function createRecordsTable()
{
$sql = sprintf("create table `%s` (\n\t\t\t\tid int(11) not null auto_increment,\n\t\t\t\tschema_id int(11) not null,\n\t\t\t\t`base_record_id_hash` varchar(32) not null,\n\t\t\t\t`base_record_id` text not null,\n\t\t\t\t`version_hash` varchar(32) not null,\n\t\t\t\t`lang` varchar(2) not null,\n\t\t\t\t`record_data` text not null,\n\t\t\t\tprimary key (`id`),\n\t\t\t\tkey (`schema_id`, `base_record_id_hash`, `version_hash`)\n\t\t\t)", self::$RECORDS_TABLE);
$res = xf_db_query($sql, df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()));
}
true;
}
示例4: handle
function handle(&$params)
{
$app =& Dataface_Application::getInstance();
if (df_get_database_version() == df_get_file_system_version()) {
$app->redirect(DATAFACE_SITE_HREF . '?--msg=' . urlencode('The application database is up to date at version ' . df_get_database_version()));
}
if (df_get_database_version() > df_get_file_system_version()) {
$app->redirect(DATAFACE_SITE_HREF . '?--msg=' . urlencode('The database version is greater than the file system version. Please upgrade your application to match the version in the database (version ' . df_get_database_version()));
}
$res = xf_db_query("select count(*) from dataface__version", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()));
}
$row = xf_db_fetch_row($res);
if ($row[0] == 0) {
$res2 = xf_db_query("insert into dataface__version (`version`) values (0)", df_db());
if (!$res2) {
throw new Exception(xf_db_error(df_db()));
}
}
if (file_exists('conf/Installer.php')) {
import('conf/Installer.php');
$installer = new conf_Installer();
$methods = get_class_methods('conf_Installer');
$methods = preg_grep('/^update_([0-9]+)$/', $methods);
$updates = array();
foreach ($methods as $method) {
preg_match('/^update_([0-9]+)$/', $method, $matches);
$version = intval($matches[1]);
if ($version > df_get_database_version() and $version <= df_get_file_system_version()) {
$updates[] = $version;
}
}
sort($updates);
foreach ($updates as $update) {
$method = 'update_' . $update;
$res = $installer->{$method}();
if (PEAR::isError($res)) {
return $res;
}
$res = xf_db_query("update dataface__version set `version`='" . addslashes($update) . "'", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
}
}
}
$res = xf_db_query("update dataface__version set `version`='" . addslashes(df_get_file_system_version()) . "'", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
}
if (function_exists('apc_clear_cache')) {
apc_clear_cache('user');
}
df_clear_views();
df_clear_cache();
$app->redirect(DATAFACE_SITE_HREF . '?--msg=' . urlencode('The database has been successfully updated to version ' . df_get_file_system_version()));
}
示例5: setUp
function setUp()
{
$app =& Dataface_Application::getInstance();
$path = DATAFACE_SITE_PATH . '/tables/' . $this->mytable;
if (file_exists($path)) {
@rmdir($path);
}
xf_db_query('drop table if exists `' . $this->mytable . '`', $app->db()) or die(xf_db_error() . ' on line ' . __LINE__ . ' of file ' . __FILE__);
parent::setUp();
}
示例6: Dataface_ConfigTool_createConfigTable
/**
* A method to create the configuration table in the database. The configuration
* table is where configuration (e.g. fields.ini etc..) may be stored. This is
* a new feature in 0.6.14.
*
* @author Steve Hannah <shannah@sfu.ca>
* @created Feb. 26, 2007
*/
function Dataface_ConfigTool_createConfigTable()
{
$self =& Dataface_ConfigTool::getInstance();
if (!Dataface_Table::tableExists($self->configTableName, false)) {
$sql = "CREATE TABLE `" . $self->configTableName . "` (\n\t\t\t\t\tconfig_id int(11) NOT NULL auto_increment primary key,\n\t\t\t\t\t`file` varchar(255) NOT NULL,\n\t\t\t\t\t`section` varchar(128),\n\t\t\t\t\t`key` varchar(128) NOT NULL,\n\t\t\t\t\t`value` text NOT NULL,\n\t\t\t\t\t`lang` varchar(2),\n\t\t\t\t\t`username` varchar(32),\n\t\t\t\t\t`priority` int(5) default 5\n\t\t\t\t\t)";
$res = xf_db_query($sql, df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
}
}
}
示例7: testSync1
function testSync1()
{
$app =& Dataface_Application::getInstance();
$s = new DB_Sync($app->db(), $app->db(), 'a', 'b');
$s->syncTables();
$res = xf_db_query("show create table b", $app->db());
if (!$res) {
trigger_error(xf_db_error($app->db()), E_USER_ERROR);
}
$row = xf_db_fetch_assoc($res);
@xf_db_free_result($res);
$this->assertEquals("CREATE TABLE `b` (\n `id` int(11) NOT NULL auto_increment,\n `a` varchar(32) default 'b',\n `b` datetime default '0000-00-00 00:00:00',\n PRIMARY KEY (`id`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1", $row['Create Table']);
}
示例8: setUp
function setUp()
{
parent::setUp();
xf_db_query("CREATE TABLE `Pages` (\n\t\t\t`PageID` INT(11) auto_increment NOT NULL,\n\t\t\t`ParentID` INT(11),\n\t\t\t`ShortName` VARCHAR(32) NOT NULL,\n\t\t\t`Description` TEXT,\n\t\t\tPRIMARY KEY (`PageID`),\n\t\t\tUNIQUE (`ParentID`,`ShortName`))") or trigger_error(xf_db_error() . __LINE__);
xf_db_query("INSERT INTO `Pages` (`PageID`,`ShortName`,`Description`)\n\t\t\tVALUES (1,'index_page','Main page')") or trigger_error(xf_db_error() . __LINE__);
xf_db_query("INSERT INTO `Pages` (`ParentID`,`ShortName`,`Description`)\n\t\t\tVALUES \n\t\t\t(1,'about','About us'),\n\t\t\t(1,'jobs','Now hiring'),\n\t\t\t(1,'products','About our products'),\n\t\t\t(1,'services','About our services'),\n\t\t\t(1,'contact','Contact us')") or trigger_error(xf_db_error() . __LINE__);
xf_db_query("INSERT INTO `Pages` (`ParentID`,`ShortName`,`Description`)\n\t\t\tVALUES\n\t\t\t(2,'history','Our history'),\n\t\t\t(2,'future', 'The direction of the company'),\n\t\t\t(3,'application', 'Job application'),\n\t\t\t(3,'current_listing', 'Current job listings'),\n\t\t\t(4,'awards','Product awards'),\n\t\t\t(4,'downloads','Product downlaods'),\n\t\t\t(5,'consultation','Free consultation')") or trigger_error(xf_db_error() . __LINE__);
$table =& Dataface_Table::loadTable('Pages');
$r =& $table->relationships();
if (!isset($r['children'])) {
$table->addRelationship('children', array('__sql__' => 'select * from Pages where ParentID=\'$PageID\'', 'meta:class' => 'children'));
}
$this->indexpage =& df_get_record('Pages', array('PageID' => 1));
$this->t = new Dataface_TreeTable($this->indexpage);
}
示例9: Dataface_ConfigTool_setConfigParam
/**
* Sets a configuration parameter in the configuration table.
* This should not be called directly. It should be called through the
* Dataface_ConfigTool class as its setConfigParam method.
*
* @param string $file The name of the ini file in which the config value is being set.
* @param string $section The name of the section (could be null).
* @param string $key The name of the parameter's key (not null)
* @param string $value The value to set (not null)
* @param string $username The username for which the parameter is being set (null for all users)
* @param string $lang The 2-digit language code for which the parameter is being set (null for all languages).
* @param integer $priority The priority of this config variable (priority dictates which
* parameters take priority. Default vallue of 5.
* @returns true if success or PEAR_Error if failure.
*
* This will create the configuration table if it doesn't already exist.
*
* @author Steve Hannah <shannah@sfu.ca>
* @created Feb. 26, 2007
*/
function Dataface_ConfigTool_setConfigParam($file, $section, $key, $value, $username = null, $lang = null, $priority = 5)
{
$self =& Dataface_ConfigTool::getInstance();
// See if this parameter has already been set:
$where = array();
$where[] = "`key`='" . addslashes($key) . "'";
$where[] = "`file`='" . addslashes($file) . "'";
$where[] = "`section`" . (isset($section) ? "='" . addslashes($section) . "'" : ' IS NULL');
$where[] = "`username`" . (isset($username) ? "='" . addslashes($username) . "'" : ' IS NULL');
$where[] = "`lang`" . (isset($lang) ? "='" . addslashes($lang) . "'" : ' IS NULL');
$where = implode(' and ', $where);
$sql = "select `config_id` from `" . $self->configTableName . "` where {$where} limit 1";
$res = xf_db_query($sql, df_db());
if (!$res) {
$self->createConfigTable();
$res = xf_db_query($sql, df_db());
}
if (!$res) {
return PEAR::raiseError("Failed to get config parameter: " . xf_db_error(df_db()));
}
$vals = array("section" => isset($section) ? "'" . addslashes($section) . "'" : 'NULL', "key" => "'" . addslashes($key) . "'", "value" => "'" . addslashes($value) . "'", "username" => "'" . addslashes($username) . "'", "lang" => "'" . addslashes($lang) . "'", "priority" => $priority);
if (xf_db_num_rows($res) > 0) {
$row = xf_db_fetch_assoc($res);
// We need to perform an update
$updates = array();
foreach ($vals as $vkey => $vval) {
$updates[] = '`' . $vkey . '`=' . $vval;
}
$sets = implode(' and ', $updates);
$sql = "update `" . $self->configTableName . "` set " . $sets . " where `config_id`='" . $row['config_id'] . "' limit 1";
} else {
$values = array();
$cols = array();
foreach ($vals as $vkey => $vval) {
$cols[] = "`{$vkey}`";
$values[] = $vval;
}
$cols = implode(',', $cols);
$values = implode(',', $values);
$sql = "insert into `" . $self->configTableName . "` ({$cols}) VALUES ({$values})";
}
@xf_db_free_result($res);
$res = xf_db_query($sql, df_db());
if (!$res) {
return PEAR::raiseError("Could not write config value: " . xf_db_error(df_db()));
}
return true;
}
示例10: handle
function handle(&$params)
{
$res = xf_db_query("show tables like 'dataface__view_%'", df_db());
$views = array();
while ($row = xf_db_fetch_row($res)) {
$views[] = $row[0];
}
if ($views) {
$sql = "drop view `" . implode('`,`', $views) . "`";
echo $sql;
echo "<br/>";
$res = xf_db_query("drop view `" . implode('`,`', $views) . "`", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()));
}
}
echo "done";
}
示例11: copy
function copy($record, $vals = array(), $force = true)
{
foreach ($vals as $k => $v) {
if (strpos($v, '=') === 0) {
$vals[$k] = $this->evaluate($v, $k, $record);
}
}
$del = $record->_table->getDelegate();
if (isset($del) and method_exists($del, 'beforeCopy')) {
$res = $del->beforeCopy($record, $vals);
if (PEAR::isError($res)) {
return $res;
}
}
$this->warnings = array();
// Step 1: Load the record - it has been passed
// Step 2: build sql query to copy the record
$query = $this->buildCopyQuery($record, $vals, $force);
if (PEAR::isError($query)) {
return $query;
}
$res = df_query($query);
if (!$res) {
return PEAR::raiseError("Failed to copy record '" . $record->getTitle() . "' due to an SQL error:" . xf_db_error());
}
if (PEAR::isError($res)) {
return $res;
}
$ret = null;
if ($auto_field_id = $record->_table->getAutoIncrementField()) {
$insert_id = df_insert_id();
$copied =& df_get_record($record->_table->tablename, array($auto_field_id => $insert_id));
$ret = $copied;
} else {
$ret = new Dataface_Record($record->_table->tablename, array_merge($record->vals(), $vals));
}
if (isset($del) and method_exists($del, 'afterCopy')) {
$res = $del->afterCopy($record, $ret);
if (PEAR::isError($res)) {
return $res;
}
}
return $ret;
}
示例12: afterCopy
function afterCopy(Dataface_Record $orig, Dataface_Record $copy)
{
$rand = md5(rand(0, 1000000));
$copytable = 'copy_' . $rand;
$res = xf_db_query("create temporary table `{$copytable}` select * from formula_ingredients where formula_id='" . addslashes($orig->val('formula_id')) . "'", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()));
}
$res = xf_db_query("update `{$copytable}` set formula_id='" . addslashes($copy->val('formula_id')) . "'", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()));
}
$res = xf_db_query("insert into formula_ingredients select * from `{$copytable}`", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()));
}
$res = xf_db_query("drop table `{$copytable}`", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()));
}
}
示例13: handle
function handle(&$params)
{
$app =& Dataface_Application::getInstance();
$context = array();
if (!is_array(@$app->_conf['_output_cache']) or !@$app->_conf['_output_cache']['enabled']) {
$context['enabled'] = false;
//return PEAR::raiseError('The output cache is currently disabled. You can enable it by adding an [_output_cache] section to your conf.ini file with a value \'enabled=1\'');
} else {
$context['enabled'] = true;
}
if (@$_POST['--clear-cache']) {
// We should clear the cache
@xf_db_query("delete from `__output_cache`", df_db());
$app->redirect($app->url('') . '&--msg=' . urlencode('The output cache has been successfully cleared.'));
}
$res = xf_db_query("select count(*) from `__output_cache`", df_db());
if (!$res) {
throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
}
list($numrows) = xf_db_fetch_row($res);
$context['numrows'] = $numrows;
df_display($context, 'manage_output_cache.html');
}
示例14: handle
function handle($params)
{
$app =& Dataface_Application::getInstance();
if (!isset($_GET['key'])) {
trigger_error("No key specified", E_USER_ERROR);
}
$sql = "select `value` from `" . TRANSLATION_PAGE_TABLE . "` where `key` = '" . addslashes($_GET['key']) . "'";
$res = xf_db_query($sql, $app->db());
if (!$res) {
trigger_error(xf_db_error($app->db()), E_USER_ERROR);
}
if (xf_db_num_rows($res) == 0) {
trigger_error("Sorry the specified key was invalid.", E_USER_ERROR);
}
list($content) = xf_db_fetch_row($res);
@xf_db_free_result($res);
if (function_exists('tidy_parse_string')) {
$config = array('show-body-only' => true, 'output-encoding' => 'utf8');
$html = tidy_repair_string($content, $config, "utf8");
$content = trim($html);
}
df_display(array('content' => $content), 'TranslationPageTemplate.html');
return true;
}
示例15: handle
function handle(&$params)
{
import('Dataface/TranslationForm.php');
$app =& Dataface_Application::getInstance();
$query =& $app->getQuery();
$resultSet =& $app->getResultSet();
$source = isset($_REQUEST['-sourceLanguage']) ? $_REQUEST['-sourceLanguage'] : $app->_conf['default_language'];
$dest = isset($_REQUEST['-destinationLanguage']) ? $_REQUEST['-destinationLanguage'] : null;
if ($resultSet->found() > 0) {
$form = new Dataface_TranslationForm($query['-table'], $source, $dest);
/*
* There is either a result to edit, or we are creating a new record.
*
*/
$res = $form->_build();
if (PEAR::isError($res)) {
throw new Exception($res->toString() . Dataface_Error::printStackTrace(), E_USER_ERROR);
}
/*
*
* We need to add the current GET parameter flags (the GET vars starting with '-') so
* that the controller knows to pass control to this method again upon form submission.
*
*/
foreach ($query as $key => $value) {
if (strpos($key, '-') === 0) {
$form->addElement('hidden', $key);
$form->setDefaults(array($key => $value));
}
}
/*
* Store the current query string (the portion after the '?') in the form, so we
* can retrieve it after and redirect back to our original location.
*/
$form->addElement('hidden', '-query');
$form->setDefaults(array('-action' => $query['-action'], '-query' => $_SERVER['QUERY_STRING']));
/*
*
* We have to deal with 3 cases.
* 1) The form has not been submitted.
* 2) The form was submitted but didn't validate (ie: it had some bad input)
* 3) The form was submitted and was validated.
*
* We deal with Case 3 first...
*
*/
if ($form->validate()) {
/*
*
* The form was submitted and it validated ok. We now process it (ie: save its contents).
*
*/
$app->clearMessages();
$result = $form->process(array(&$form, 'save'));
$success = true;
$response =& Dataface_Application::getResponse();
if (!$result) {
error_log("Error occurred in save: " . xf_db_error($app->db()) . Dataface_Error::printStackTrace());
throw new Exception("Error occurred in save. See error log for details.");
} else {
if (PEAR::isError($result) && !Dataface_Error::isNotice($result)) {
//echo "Error..";
if (Dataface_Error::isDuplicateEntry($result)) {
return $result;
} else {
//echo "not dup entry"; exit;
throw new Exception($result->toString(), E_USER_ERROR);
}
} else {
if (Dataface_Error::isNotice($result)) {
$app->addError($result);
//$response['--msg'] = @$response['--msg'] ."\n".$result->getMessage();
$success = false;
}
}
}
if ($success) {
/*
*
* The original query string will have the -new flag set. We need to remove this
* flag so that we don't redirect the user to create another new record.
*
*/
$vals = $form->exportValues();
$vals['-query'] = preg_replace('/[&\\?]-new=[^&]+/i', '', $vals['-query']);
$msg = implode("\n", $app->getMessages());
//$msg =@$response['--msg'];
$msg = urlencode(Dataface_LanguageTool::translate('Record successfully translated', "Record successfully translated.<br>") . $msg);
$link = $_SERVER['HOST_URI'] . DATAFACE_SITE_HREF . '?' . $vals['-query'] . '&--msg=' . $msg;
/*
*
* Redirect the user to the appropriate record.
*
*/
$app->redirect($link);
}
}
ob_start();
$form->display();
$out = ob_get_contents();
//.........这里部分代码省略.........