本文整理汇总了PHP中rex_sql::getError方法的典型用法代码示例。如果您正苦于以下问题:PHP rex_sql::getError方法的具体用法?PHP rex_sql::getError怎么用?PHP rex_sql::getError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rex_sql
的用法示例。
在下文中一共展示了rex_sql::getError方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: logQuery
/**
* Führt eine SQL Query aus und schreibt sie in die Logdatei.
* @param KLogger $log Logdatei Objekt
* @param rex_sql $sql SQL Objekt
* @param String $query SQL Query
*/
public static function logQuery(&$log, &$sql, $query)
{
$sql->setQuery($query);
if ($sql->getError() == '') {
$log->logInfo('>> [QRY] ' . htmlentities($query));
} else {
$log->logError('>> [QRY] ' . htmlentities($query));
$log->logError('>> [QRY] ' . $sql->getError());
}
}
示例2: asd_news_addClang
function asd_news_addClang($params)
{
global $REX;
$id = $params['id'];
$name = $params['name'];
$now = new DateTime();
$error = false;
$sql = new rex_sql();
$sql->setQuery('SELECT * FROM `' . rex_asd_news_config::getTable() . '` WHERE `clang` = ' . $REX['START_CLANG_ID']);
for ($i = 1; $i <= $sql->getRows(); $i++) {
$save = new rex_sql();
$save->setTable(rex_asd_news_config::getTable());
$save->setValues($sql->getRow());
$save->setValue('clang', $id);
$save->setValue('createdAt', $now->format('Y-m-d H:i:s'));
$save->setValue('updatedAt', $now->format('Y-m-d H:i:s'));
$save->setValue('publishedAt', '0000-00-00 00:00:00');
$save->setValue('createdBy', $REX['USER']->getValue('user_id'));
$save->setValue('updatedBy', $REX['USER']->getValue('user_id'));
$save->setValue('publishedBy', 0);
$save->setValue('status', 0);
unset($save->values['news_id']);
if (!$save->insert()) {
$error = $save->getError();
}
}
if ($error) {
echo rex_warning('ASD News: Neuigkeiten in der Sprache "' . $name . '" konnten nicht angelegt werden<br />' . $error);
} else {
echo rex_info('ASD News: Neuigkeiten in der Sprache "' . $name . '" wurden angelegt');
}
}
示例3: rex_installTemplate
/**
* Installiert ein Template
* @param $file Dateiname des Templates
* @param $template_name Name mit dem das Template installiert werden soll
* @param [$debug=false] Debugflag
*/
function rex_installTemplate($file, $template_name, $debug = false)
{
global $REX, $REX_USER;
$content = sql::escape(file_get_contents($file . '.tpl'));
$sql = new rex_sql();
$sql->debugsql = $debug;
$qry = 'INSERT INTO ' . $REX['TABLE_PREFIX'] . 'template SET `name` = ' . sql::escape($template_name) . ', `content` = ' . $content . ', `createdate` = ' . sql::escape(time()) . ', `createuser` = ' . sql::escape($REX_USER->getValue('login'));
$sql->setQuery(_prepare_query($qry));
return $sql->getError();
}
示例4: rex_install_dump
/**
* Importiert die gegebene SQL-Datei in die Datenbank
*
* @return true bei Erfolg, sonst eine Fehlermeldung
*/
function rex_install_dump($file, $debug = false)
{
$sql = new rex_sql();
$sql->debugsql = $debug;
$error = '';
foreach (rex_read_sql_dump($file) as $query) {
$sql->setQuery(rex_install_prepare_query($query));
if (($sqlerr = $sql->getError()) != '') {
$error .= $sqlerr . "\n<br />";
}
}
return $error == '' ? true : $error;
}
示例5: execute
public function execute(array $params = [])
{
$qry = $this->stmt->queryString;
$timer = new rex_timer();
parent::execute($params);
$err = $errno = '';
if ($this->hasError()) {
++self::$errors;
$err = parent::getError();
$errno = parent::getErrno();
}
self::$queries[] = ['rows' => $this->getRows(), 'time' => $timer->getFormattedDelta(), 'query' => $qry, 'error' => $err, 'errno' => $errno];
return $this;
}
示例6: execute
function execute()
{
$query = trim($this->action["elements"][2]);
if ($query == "") {
if ($this->params["debug"]) {
echo 'ActionQuery Error: no query';
}
return;
}
$sql = new rex_sql();
if ($this->params["debug"]) {
$sql->debugsql = TRUE;
}
// SQL Objekt mit Werten füllen
foreach ($this->elements_sql as $key => $value) {
$query = str_replace('###' . $key . '###', addslashes($value), $query);
}
$sql->setQuery($query);
if ($sql->getError() != "") {
$this->params["form_show"] = TRUE;
$this->params["hasWarnings"] = TRUE;
$this->params["warning_messages"][] = $this->action["elements"][3];
}
}
示例7:
}
if ($func == 'unpublish') {
$sql = new rex_sql();
$sql->setTable(rex_asd_news_config::getTable());
$sql->setWhere('id=' . $id . ' AND clang = ' . $clang);
$sql->setValue('publishedAt', '0000-00-00 00:00:00');
$sql->setValue('publishedBy', 0);
$successMessage = $I18N->msg('asd_news_unpublished_s');
if (rex_asd_news_config::getConfig('published-lang') == 'all') {
$sql->setWhere('`id` = ' . $id);
$successMessage = $I18N->msg('asd_news_unpublished_m');
}
if ($sql->update()) {
echo rex_info($successMessage);
} else {
echo rex_warning($sql->getError());
}
$func = '';
}
if ($func == '') {
$list = new rex_list('
SELECT
`id`, `title`, `publishedAt`, `status`
FROM `' . rex_asd_news_config::getTable() . '`
WHERE `clang` = ' . $clang . '
ORDER BY CASE
WHEN `publishedAt` = "0000-00-00 00:00:00" THEN 1
ELSE 0
END DESC,
`publishedAt` DESC, `updatedAt` DESC');
$list->addParam('clang', $clang);
示例8: int
$REX['HTDOCS_PATH'] = './';
include 'redaxo/include/master.inc.php';
// Dateiname der lokalen Bankleitzahlen-Datei
$_blzfilename = $REX['HTDOCS_PATH'] . 'blz.txt';
// Falls allow_url_fopen aktiviert ist kann die Datei auch direkt vom Server verarbeitet werden
// hierzu einfach die folgende Zeile auskommentieren
//$_blzfilename = 'http://www.bundesbank.de/download/zahlungsverkehr/bankleitzahlen/20100906/blz_20100906.txt';
// SQL zum anlegen der Tabelle
$_sql_create = "\n\tCREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%9999_blz` (\n\t `blz` int(8) NOT NULL default '0',\n\t `merkmal` char(1) NOT NULL default '',\n\t `bezeichnung` varchar(58) NOT NULL default '',\n\t `plz` varchar(5) NOT NULL default '',\n\t `ort` varchar(35) NOT NULL default '',\n\t `kurzbezeichnung` varchar(27) NOT NULL default '',\n\t `pan` varchar(5) NOT NULL default '',\n\t `bic` varchar(11) NOT NULL default '',\n\t `prz` char(2) NOT NULL default '',\n\t `satznr` int(6) NOT NULL default '0',\n\t `aendkz` char(1) NOT NULL default '',\n\t `blzloesch` char(1) NOT NULL default '',\n\t `blznachfolge` int(8) NOT NULL default '0',\n\t PRIMARY KEY (`satznr`)\n\t) TYPE=MyISAM;\n\t";
// Tabelle anlegen
$_sql = new rex_sql();
$_sql->debugsql = false;
$_sql_create = str_replace('%TABLE_PREFIX%', $REX['TABLE_PREFIX'], $_sql_create);
$_sql->setQuery($_sql_create);
if ($_sql->hasError()) {
echo "<br />\n" . 'Error Message: ' . htmlspecialchars($_sql->getError());
echo "<br />\n" . 'Error Code: ' . $_sql->getErrno();
echo "<br />\n" . 'Query: ' . $_sql_create;
}
// Tabelle leeren falls schon vorhanden
$_query = 'TRUNCATE TABLE ' . $REX['TABLE_PREFIX'] . '9999_blz';
$_sql->setQuery($_query);
if ($_sql->hasError()) {
echo "<br />\n" . 'Error Message: ' . htmlspecialchars($_sql->getError());
echo "<br />\n" . 'Error Code: ' . $_sql->getErrno();
echo "<br />\n" . 'Query: ' . $_query;
}
// Eingabe-Datei Postleitzahlen öffnen
$_fp = fopen($_blzfilename, 'r');
if (!$_fp) {
echo "<br />\n" . 'Beim öffnen der Datei ' . $blzfilename . ' ist ein Fehler aufgetreten!';
示例9: int
<?php
/**
* XO-Form
* @author jan.kristinus[at]redaxo[dot]de Jan Kristinus
* @author <a href="http://www.yakamara.de">www.yakamara.de</a>
*/
// Tabelle anlegen Redaxo 4.0.x
$sql = new rex_sql();
$sql->setQuery("CREATE TABLE IF NOT EXISTS `rex_xform_email_template` (\n `id` int(11) NOT NULL auto_increment,\n `name` varchar(255) NOT NULL default '',\n `mail_from` varchar(255) NOT NULL default '',\n `mail_from_name` varchar(255) NOT NULL default '',\n `subject` varchar(255) NOT NULL default '',\n `body` text NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;\n");
// evtl. Fehler beim Anlegen?
if ($sql->hasError()) {
$msg = 'MySQL-Error: ' . $sql->getErrno() . '<br />';
$msg .= $sql->getError();
// Evtl Ausgabe einer Meldung
// $rxa_htmlinsert['meldung'] = 'Das Addon wurde nicht installiert, weil...';
$REX['ADDON']['install']['xform'] = 0;
$REX['ADDON']['installmsg']['xform'] = $msg;
} else {
// Installation erfolgreich
$REX['ADDON']['install']['xform'] = 1;
}
示例10: rex_a1_import_db
/**
* Importiert den SQL Dump $filename in die Datenbank
*
* @param string Pfad + Dateinamen zur SQL-Datei
*
* @return array Gibt ein Assoc. Array zurück.
* 'state' => boolean (Status ob fehler aufgetreten sind)
* 'message' => Evtl. Status/Fehlermeldung
*/
function rex_a1_import_db($filename)
{
global $REX, $I18N_IM_EXPORT;
$return = array();
$return['state'] = false;
$return['message'] = '';
$msg = '';
$error = '';
if ($filename == '' || substr($filename, -4, 4) != ".sql") {
$return['message'] = $I18N_IM_EXPORT->msg('no_import_file_chosen_or_wrong_version') . '<br>';
return $return;
}
$conts = rex_get_file_contents($filename);
// Versionsstempel prüfen
// ## Redaxo Database Dump Version x.x
$version = strpos($conts, '## Redaxo Database Dump Version ' . $REX['VERSION']);
if ($version === false) {
$return['message'] = $I18N_IM_EXPORT->msg('no_valid_import_file') . '. [## Redaxo Database Dump Version ' . $REX['VERSION'] . '] is missing';
return $return;
}
// Versionsstempel entfernen
$conts = trim(str_replace('## Redaxo Database Dump Version ' . $REX['VERSION'], '', $conts));
// Prefix prüfen
// ## Prefix xxx_
if (preg_match('/^## Prefix ([a-zA-Z0-9\\_]*)/', $conts, $matches) && isset($matches[1])) {
// prefix entfernen
$prefix = $matches[1];
$conts = trim(str_replace('## Prefix ' . $prefix, '', $conts));
} else {
// Prefix wurde nicht gefunden
$return['message'] = $I18N_IM_EXPORT->msg('no_valid_import_file') . '. [## Prefix ' . $REX['TABLE_PREFIX'] . '] is missing';
return $return;
}
// Prefix im export mit dem der installation angleichen
if ($REX['TABLE_PREFIX'] != $prefix) {
// Hier case-insensitiv ersetzen, damit alle möglich Schreibweisen (TABLE TablE, tAblE,..) ersetzt werden
// Dies ist wichtig, da auch SQLs innerhalb von Ein/Ausgabe der Module vom rex-admin verwendet werden
$conts = preg_replace('/(TABLE `?)' . preg_quote($prefix, '/') . '/i', '$1' . $REX['TABLE_PREFIX'], $conts);
$conts = preg_replace('/(INTO `?)' . preg_quote($prefix, '/') . '/i', '$1' . $REX['TABLE_PREFIX'], $conts);
$conts = preg_replace('/(EXISTS `?)' . preg_quote($prefix, '/') . '/i', '$1' . $REX['TABLE_PREFIX'], $conts);
}
// Inhalt der /generated Ordner komplett leeren
rex_generateAll();
// ----- EXTENSION POINT
$filesize = filesize($filename);
$msg = rex_register_extension_point('A1_BEFORE_DB_IMPORT', $msg, array('content' => $conts, 'filename' => $filename, 'filesize' => $filesize));
// Datei aufteilen
$lines = explode("\n", $conts);
$add = new rex_sql();
$error = '';
foreach ($lines as $line) {
$line = trim($line, "\r");
// Windows spezifische extras
$line = trim($line, ";");
// mysql 3.x
if ($line == '') {
continue;
}
$add->setQuery($line);
if ($add->hasError()) {
$error .= "\n" . $add->getError();
}
}
if ($error != '') {
$return['message'] = trim($error);
return $return;
}
$msg .= $I18N_IM_EXPORT->msg('database_imported') . '. ' . $I18N_IM_EXPORT->msg('entry_count', count($lines)) . '<br />';
// CLANG Array aktualisieren
unset($REX['CLANG']);
$db = new rex_sql();
$db->setQuery('select * from ' . $REX['TABLE_PREFIX'] . 'clang');
for ($i = 0; $i < $db->getRows(); $i++) {
$id = $db->getValue('id');
$name = $db->getValue('name');
$REX['CLANG'][$id] = $name;
$db->next();
}
// prüfen, ob eine user tabelle angelegt wurde
$result = $db->getArray('SHOW TABLES');
$user_table_found = false;
foreach ($result as $row) {
if (in_array($REX['TABLE_PREFIX'] . 'user', $row)) {
$user_table_found = true;
break;
}
}
if (!$user_table_found) {
$create_user_table = '
CREATE TABLE ' . $REX['TABLE_PREFIX'] . 'user
(
//.........这里部分代码省略.........
示例11: array
$EA->setTable($REX['TABLE_PREFIX'] . "article");
$EA->setWhere("id='{$article_id}' and clang={$clang}");
$EA->setValue('name', $article_name);
$EA->setValue('template_id', $template_id);
// $EA->setValue('path',$KATPATH);
$EA->addGlobalUpdateFields();
$EA->setValue('prior', $Position_Article);
if ($EA->update()) {
$amessage = $I18N->msg('article_updated');
// ----- PRIOR
rex_newArtPrio($category_id, $clang, $Position_Article, $thisArt->getValue('prior'));
rex_generateArticle($article_id);
// ----- EXTENSION POINT
$amessage = rex_register_extension_point('ART_UPDATED', $amessage, array('id' => $article_id, 'status' => $thisArt->getValue('status'), 'name' => $article_name, 'clang' => $clang, 're_id' => $category_id, 'prior' => $Position_Article, 'path' => $KATPATH, 'template_id' => $template_id));
} else {
$amessage = $EA->getError();
}
} elseif ($function == 'artdelete_function' && $article_id != '' && $KATPERM && !$REX_USER->hasPerm('editContentOnly[]')) {
// --------------------- ARTIKEL DELETE
$message = rex_deleteArticle($article_id);
$re_id = $thisArt->getValue("re_id");
// ----- PRIO
$CL = $REX['CLANG'];
reset($CL);
for ($j = 0; $j < count($CL); $j++) {
$mlang = key($CL);
rex_newArtPrio($thisArt->getValue("re_id"), $mlang, 0, 1);
next($CL);
}
// ----- EXTENSION POINT
$message = rex_register_extension_point('ART_DELETED', $message, array("id" => $article_id, "re_id" => $re_id));
示例12: rex_articleStatus
/**
* Ändert den Status des Artikels
*
* @param int $article_id Id des Artikels die gelöscht werden soll
* @param int $clang Id der Sprache
* @param int|null $status Status auf den der Artikel gesetzt werden soll, oder NULL wenn zum nächsten Status weitergeschaltet werden soll
*
* @return array Ein Array welches den status sowie eine Fehlermeldung beinhaltet
*/
function rex_articleStatus($article_id, $clang, $status = null)
{
global $REX, $I18N;
$success = false;
$message = '';
$artStatusTypes = rex_articleStatusTypes();
$GA = new rex_sql();
$GA->setQuery("select * from " . $REX['TABLE_PREFIX'] . "article where id='{$article_id}' and clang={$clang}");
if ($GA->getRows() == 1) {
// Status wurde nicht von außen vorgegeben,
// => zyklisch auf den nächsten Weiterschalten
if (!$status) {
$newstatus = ($GA->getValue('status') + 1) % count($artStatusTypes);
} else {
$newstatus = $status;
}
$EA = new rex_sql();
$EA->setTable($REX['TABLE_PREFIX'] . "article");
$EA->setWhere("id='{$article_id}' and clang={$clang}");
$EA->setValue('status', $newstatus);
$EA->addGlobalUpdateFields();
if ($EA->update()) {
$message = $I18N->msg('article_status_updated');
rex_deleteCacheArticle($article_id, $clang);
// ----- EXTENSION POINT
$message = rex_register_extension_point('ART_STATUS', $message, array('id' => $article_id, 'clang' => $clang, 'status' => $newstatus));
$success = true;
} else {
$message = $EA->getError();
}
} else {
$message = $I18N->msg("no_such_category");
}
return array($success, $message);
}
示例13: stripslashes
} else {
$modultyp->setQuery('select * from ' . $REX['TABLE_PREFIX'] . 'module where id=' . $modul_id);
if ($modultyp->getRows() == 1) {
$old_ausgabe = $modultyp->getValue('ausgabe');
// $modultyp->setQuery("UPDATE ".$REX['TABLE_PREFIX']."modultyp SET name='$mname', eingabe='$eingabe', ausgabe='$ausgabe' WHERE id='$modul_id'");
$UMOD = new rex_sql();
$UMOD->setTable($REX['TABLE_PREFIX'] . 'module');
$UMOD->setWhere('id=' . $modul_id);
$UMOD->setValue('name', $mname);
$UMOD->setValue('eingabe', $eingabe);
$UMOD->setValue('ausgabe', $ausgabe);
$UMOD->addGlobalUpdateFields();
if ($UMOD->update()) {
$info = $I18N->msg('module_updated') . ' | ' . $I18N->msg('articel_updated');
} else {
$warning = $UMOD->getError();
}
$new_ausgabe = stripslashes($ausgabe);
if ($old_ausgabe != $new_ausgabe) {
// article updaten - nur wenn ausgabe sich veraendert hat
$gc = new rex_sql();
$gc->setQuery("SELECT DISTINCT(" . $REX['TABLE_PREFIX'] . "article.id) FROM " . $REX['TABLE_PREFIX'] . "article\r\n LEFT JOIN " . $REX['TABLE_PREFIX'] . "article_slice ON " . $REX['TABLE_PREFIX'] . "article.id=" . $REX['TABLE_PREFIX'] . "article_slice.article_id\r\n WHERE " . $REX['TABLE_PREFIX'] . "article_slice.modultyp_id='{$modul_id}'");
for ($i = 0; $i < $gc->getRows(); $i++) {
rex_deleteCacheArticle($gc->getValue($REX['TABLE_PREFIX'] . "article.id"));
$gc->next();
}
}
}
}
if ($goon != '') {
$save = '0';
示例14: array
// ------------------------------------------ START: SAVE METADATA
if (rex_post('savemeta', 'string')) {
$meta_sql = new rex_sql();
$meta_sql->setTable($REX['TABLE_PREFIX'] . "article");
// $meta_sql->debugsql = 1;
$meta_sql->setWhere("id='{$article_id}' AND clang={$clang}");
$meta_sql->setValue('name', $meta_article_name);
$meta_sql->addGlobalUpdateFields();
if ($meta_sql->update()) {
$article->setQuery("SELECT * FROM " . $REX['TABLE_PREFIX'] . "article WHERE id='{$article_id}' AND clang='{$clang}'");
$message = $I18N->msg("metadata_updated") . $message;
rex_generateArticle($article_id);
// ----- EXTENSION POINT
$message = rex_register_extension_point('ART_META_UPDATED', $message, array('id' => $article_id, 'clang' => $clang, 'name' => $meta_article_name));
} else {
$message .= $meta_sql->getError();
}
}
// ------------------------------------------ END: SAVE METADATA
// ------------------------------------------ START: CONTENT HEAD MENUE
$num_ctypes = count($REX['CTYPE']);
$ctype_menu = '';
if ($num_ctypes > 0) {
$listElements = array();
if ($num_ctypes > 1) {
$listElements[] = $I18N->msg('content_types') . ': ';
} else {
$listElements[] = $I18N->msg('content_type') . ': ';
}
$i = 1;
foreach ($REX['CTYPE'] as $key => $val) {
示例15: array
if (rex_post('savemeta', 'string')) {
$meta_article_name = rex_post('meta_article_name', 'string');
$meta_sql = new rex_sql();
$meta_sql->setTable($REX['TABLE_PREFIX'] . "article");
// $meta_sql->debugsql = 1;
$meta_sql->setWhere("id='{$article_id}' AND clang={$clang}");
$meta_sql->setValue('name', $meta_article_name);
$meta_sql->addGlobalUpdateFields();
if ($meta_sql->update()) {
$article->setQuery("SELECT * FROM " . $REX['TABLE_PREFIX'] . "article WHERE id='{$article_id}' AND clang='{$clang}'");
$info = $I18N->msg("metadata_updated");
rex_deleteCacheArticle($article_id, $clang);
// ----- EXTENSION POINT
$info = rex_register_extension_point('ART_META_UPDATED', $info, array('id' => $article_id, 'clang' => $clang, 'name' => $meta_article_name));
} else {
$warning = $meta_sql->getError();
}
}
// ------------------------------------------ END: SAVE METADATA
// ------------------------------------------ START: CONTENT HEAD MENUE
$num_ctypes = count($REX['CTYPE']);
$ctype_menu = '';
if ($num_ctypes > 0) {
$listElements = array();
if ($num_ctypes > 1) {
$listElements[] = $I18N->msg('content_types') . ': ';
} else {
$listElements[] = $I18N->msg('content_type') . ': ';
}
$i = 1;
foreach ($REX['CTYPE'] as $key => $val) {