X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fdb%2Flib-mysql3.php;h=ccdfd8e9f7b5121fedc5b16ca3fccb84ba325178;hb=ff21321f09918909f7e21f850b6617156323e332;hp=3ef8c2acc83bfeb22f05fdc34a28ed5759cf72bf;hpb=f97a999e0737c0007ae9c3c26dfef49f75a175ac;p=mailer.git
diff --git a/inc/db/lib-mysql3.php b/inc/db/lib-mysql3.php
index 3ef8c2acc8..ccdfd8e9f7 100644
--- a/inc/db/lib-mysql3.php
+++ b/inc/db/lib-mysql3.php
@@ -45,16 +45,26 @@ if (!defined('__SECURITY')) {
// SQL queries
function SQL_QUERY ($sql_string, $F, $L) {
// Link is up?
- if (!SQL_IS_LINK_UP()) return false;
+ if (!SQL_IS_LINK_UP()) {
+ // We should not quietly ignore this!
+ trigger_error(sprintf("Cannot query database: sql_string=%s,file=%s,line=%s",
+ $sql_string,
+ basename($F),
+ $L
+ ));
+
+ // Return 'false' because it has failed
+ return false;
+ } // END - if
// Remove \t, \n and \r from queries they may confuse some MySQL version I have heard
$sql_string = str_replace("\t", " ", str_replace("\n", " ", str_replace("\r", " ", $sql_string)));
// Replace {!_MYSQL_PREFIX!} with constant, closes #84. Thanks to profi-concept
- $sql_string = str_replace("{!_MYSQL_PREFIX!}", constant('_MYSQL_PREFIX'), $sql_string);
+ $sql_string = str_replace("{!_MYSQL_PREFIX!}", getConfig('_MYSQL_PREFIX'), $sql_string);
// Replace {!_TABLE_TYPE!} with constant
- $sql_string = str_replace("{!_TABLE_TYPE!}", constant('_TABLE_TYPE'), $sql_string);
+ $sql_string = str_replace("{!_TABLE_TYPE!}", getConfig('_TABLE_TYPE'), $sql_string);
// Starting time
$querytimeBefore = array_sum(explode(' ', microtime()));
@@ -62,7 +72,7 @@ function SQL_QUERY ($sql_string, $F, $L) {
// Run SQL command
//* DEBUG: */ echo $sql_string."
\n";
$result = mysql_query($sql_string, SQL_GET_LINK())
- or addFatalMessage(__FUNCTION__, __LINE__, $F." (".$L."):".mysql_error()."
+ or addFatalMessage(__FUNCTION__, __LINE__, $F." (".$L."):".mysql_error()."
Query string:
".$sql_string);
@@ -80,17 +90,17 @@ Query string:
// Debug output
//* DEBUG: */ print "Query=
".$sql_string."
, affected=".SQL_AFFECTEDROWS().", numrows=".SQL_NUMROWS($result)."
\n";
- if (($GLOBALS['output_mode'] != "1") && ($GLOBALS['output_mode'] != "-1") && (isDebugModeEnabled()) && (isBooleanConstantAndTrue('DEBUG_SQL'))) {
+ if ((getOutputMode() != '1') && (getOutputMode() != '-1') && (isDebugModeEnabled()) && (getConfig('DEBUG_SQL') == 'Y')) {
//
// Debugging stuff...
//
- $fp = fopen(constant('PATH')."inc/cache/mysql.log", 'a') or app_die(__FILE__, __LINE__, "Cannot write mysql.log!");
+ $fp = fopen(constant('PATH') . 'inc/cache/mysql.log', 'a') or app_die(__FILE__, __LINE__, "Cannot write mysql.log!");
if (!isset($GLOBALS['sql_first_entry'])) {
// Write first entry
- fwrite($fp, "Module=".$GLOBALS['module']."\n");
+ fwrite($fp, 'Module=' . getModule() . "\n");
$GLOBALS['sql_first_entry'] = true;
} // END - if
- fwrite($fp, $F."(LINE=".$L."|NUM=".SQL_NUMROWS($result)."|AFFECTED=".SQL_AFFECTEDROWS()."|QUERYTIME:".$queryTime."): ".str_replace('\r', '', str_replace('\n', " ", $sql_string))."\n");
+ fwrite($fp, $F."(LINE=".$L."|NUM=".SQL_NUMROWS($result)."|AFFECTED=".SQL_AFFECTEDROWS()."|QUERYTIME:".$queryTime."): ".str_replace("\r", '', str_replace("\n", " ", $sql_string))."\n");
fclose($fp);
} // END - if
@@ -159,7 +169,7 @@ function SQL_FETCHARRAY($res, $nr=0, $remove_numerical=true) {
if (is_array($row)) {
// Shall we remove numerical data here automatically?
if ($remove_numerical) {
- // So let's remove all numerical elements to save memory!
+ // So let's remove all numerical elements to save memory!
$max = count($row);
for ($idx = 0; $idx < ($max / 2); $idx++) {
// Remove entry
@@ -217,7 +227,7 @@ function SQL_CLOSE ($F, $L) {
incrementConfigEntry('db_hits', getConfig('db_hits_run'));
// Update counter for db/cache
- UPDATE_CONFIG(array('db_hits', 'cache_hits'), array(getConfig(('db_hits')), getConfig(('cache_hits'))));
+ updateConfiguration(array('db_hits', 'cache_hits'), array(getConfig(('db_hits')), getConfig(('cache_hits'))));
} // END - if
// Close database link and forget the link
@@ -247,7 +257,7 @@ function SQL_QUERY_ESC ($qstring, $data, $F, $L, $run=true, $strip=true, $secure
if (!SQL_IS_LINK_UP()) return false;
// Init variable
- $query = "failed";
+ $query = 'failed';
if ($strip === true) {
$strip = "true";
@@ -274,14 +284,14 @@ function SQL_QUERY_ESC ($qstring, $data, $F, $L, $run=true, $strip=true, $secure
// Debugging
//
//* DEBUG: */ $fp = fopen(constant('PATH')."inc/cache/escape_debug.log", 'a') or app_die(__FILE__, __LINE__, "Cannot write debug.log!");
- //* DEBUG: */ fwrite($fp, $F."(".$L."): ".str_replace("\r", '', str_replace("\n", " ", $eval))."\n");
+ //* DEBUG: */ fwrite($fp, $F.'('.$L."): ".str_replace("\r", '', str_replace("\n", " ", $eval))."\n");
//* DEBUG: */ fclose($fp);
// Run the code
eval($eval);
// Was the eval() command fine?
- if ($query == "failed") {
+ if ($query == 'failed') {
// Something went wrong?
debug_report_bug("eval={$eval}");
} // END - if
@@ -338,11 +348,11 @@ function SQL_RESULT_FROM_ARRAY ($table, $columns, $idRow, $id, $F, $L) {
// Return the result
return SQL_QUERY_ESC($sql,
- array(
- bigintval($id),
- $table,
- $idRow
- ), $F, $L);
+ array(
+ bigintval($id),
+ $table,
+ $idRow
+ ), $F, $L);
}
// ALTER TABLE wrapper function
@@ -351,48 +361,55 @@ function SQL_ALTER_TABLE ($sql, $F, $L) {
$result = false;
// Determine index/fulltext/unique word
- // 12 3 3 2 2 3 3 2 2 3 3 21
- $noIndex = ((ereg("INDEX", $sql) == false) && (ereg("FULLTEXT", $sql) == false) && (ereg("UNIQUE", $sql) == false));
+ $noIndex = (
+ (
+ strpos($sql, 'INDEX') === false
+ ) && (
+ strpos($sql, 'FULLTEXT') === false
+ ) && (
+ strpos($sql, 'UNIQUE') === false
+ )
+ );
// Extract table name
$tableArray = explode(" ", $sql);
- $tableName = str_replace("`", '', $tableArray[2]);
+ $tableName = str_replace('`', '', $tableArray[2]);
// Shall we add/drop?
- if (((ereg("ADD", $sql)) || (ereg("DROP", $sql))) && ($noIndex)) {
+ if (((strpos($sql, 'ADD') !== false) || (strpos($sql, 'DROP') !== false)) && ($noIndex === true)) {
// And column name as well
- $columnName = str_replace("`", '', $tableArray[4]);
+ $columnName = str_replace('`', '', $tableArray[4]);
// Get column information
$result = SQL_QUERY_ESC("SHOW COLUMNS FROM %s LIKE '%s'",
- array($tableName, $columnName), __FILE__, __LINE__);
+ array($tableName, $columnName), __FILE__, __LINE__);
// Do we have no entry on ADD or an entry on DROP?
- // 123 4 4 3 3 4 432 23 4 4 3 3 4 4321
- if (((SQL_NUMROWS($result) == 0) && (ereg("ADD", $sql))) || ((SQL_NUMROWS($result) == 1) && (ereg("DROP", $sql)))) {
+ // 123 4 4 3 3 4 4 32 23 4 4 3 3 4 4 321
+ if (((SQL_NUMROWS($result) == 0) && (strpos($sql, 'ADD') !== false)) || ((SQL_NUMROWS($result) == 1) && (strpos($sql, 'DROP') !== false))) {
// Do the query
- //* DEBUG: */ print __LINE__.":".$sql."
\n";
+ //* DEBUG: */ print __LINE__.':'.$sql."
\n";
$result = SQL_QUERY($sql, $F, $L, false);
} // END - if
- } elseif ((constant('_TABLE_TYPE') == "InnoDB") && (ereg("FULLTEXT", $sql))) {
+ } elseif ((getConfig('_TABLE_TYPE') == 'InnoDB') && (strpos($sql, 'FULLTEXT') !== false)) {
// Skip this query silently
//* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Skipped FULLTEXT: sql=%s,file=%s,line=%s", $sql, $F, $L));
} elseif (!$noIndex) {
// And column name as well
- $columnName = str_replace("`", '', $tableArray[4]);
+ $columnName = str_replace('`', '', $tableArray[4]);
// Is this "UNIQUE" or so? FULLTEXT has been handled the elseif() block above
- if (in_array(strtoupper($columnName), array("INDEX", "UNIQUE", "KEY", "FULLTEXT"))) {
+ if (in_array(strtoupper($columnName), array('INDEX', 'UNIQUE', 'KEY', 'FULLTEXT'))) {
// Init loop
- $begin = 1; $columnName = ",";
- while (strpos($columnName, ",") !== false) {
+ $begin = 1; $columnName = ',';
+ while (strpos($columnName, ',') !== false) {
// Use last
- $columnName = str_replace("`", '', $tableArray[count($tableArray) - $begin]);
- //* DEBUG: */ print __LINE__.":".$columnName."----------------".$begin."
\n";
+ $columnName = str_replace('`', '', $tableArray[count($tableArray) - $begin]);
+ //* DEBUG: */ print __LINE__.':'.$columnName."----------------".$begin."
\n";
// Remove brackes
- $columnName = str_replace("(", '', str_replace(")", '', $columnName));
- //* DEBUG: */ print __LINE__.":".$columnName."----------------".$begin."
\n";
+ $columnName = str_replace('(', '', str_replace(')', '', $columnName));
+ //* DEBUG: */ print __LINE__.':'.$columnName."----------------".$begin."
\n";
// Continue
$begin++;
@@ -400,8 +417,8 @@ function SQL_ALTER_TABLE ($sql, $F, $L) {
} // END - if
// Show indexes
- $result = SQL_QUERY_ESC("SHOW INDEX FROM %s",
- array($tableName), __FILE__, __LINE__);
+ $result = SQL_QUERY_ESC("SHOW INDEX FROM `%s`",
+ array($tableName), __FILE__, __LINE__);
// Walk through all
$skip = false;
@@ -422,12 +439,12 @@ function SQL_ALTER_TABLE ($sql, $F, $L) {
// Shall we run it?
if (!$skip) {
// Send it to the SQL_QUERY() function
- //* DEBUG: */ print __LINE__.":".$sql."
\n";
+ //* DEBUG: */ print __LINE__.':'.$sql."
\n";
$result = SQL_QUERY($sql, $F, $L, false);
} // END - if
} else {
// Other ALTER TABLE query
- //* DEBUG: */ print __LINE__.":".$sql."
\n";
+ //* DEBUG: */ print __LINE__.':'.$sql."
\n";
$result = SQL_QUERY($sql, $F, $L, false);
}