+// "Getter" for result from given table and field/type LIKEs
+function sqlGetResultFromLikeColumnsType ($tableName, $field, $type) {
+ // The table should be there
+ assert(ifSqlTableExists($tableName));
+
+ // Default no field set
+ $fieldSql = '';
+ if (!empty($field)) {
+ // Then use it
+ $fieldSql = "`Field` LIKE '" . $field . "' AND";
+ } // END - if
+
+ // Show them
+ return sqlQueryEscaped("SHOW COLUMNS FROM
+ `{?_MYSQL_PREFIX?}_%s`
+WHERE
+ " . $fieldSql . "
+ `Type` LIKE '%s%%'",
+ array(
+ $tableName,
+ $type
+ ), __FUNCTION__, __LINE__
+ );
+}
+
+// Log SQL errors to debug.log in installation phase or call reportBug()
+function logSqlError ($file, $line, $message) {
+ // Remember plain error in last_sql_error
+ setSqlError($file, $line, $message);
+
+ // Is login set?
+ if (!empty($GLOBALS['mysql']['login'])) {
+ // Secure login name in message
+ $message = str_replace($GLOBALS['mysql']['login'], '***', $message);
+ } // END - if
+
+ // Is database password set?
+ if (!empty($GLOBALS['mysql']['password'])) {
+ // Secure password in message
+ $message = str_replace($GLOBALS['mysql']['password'], '***', $message);
+ } // END - if
+
+ // Is database name set?
+ if (!empty($GLOBALS['mysql']['dbase'])) {
+ // Secure database name in message
+ $message = str_replace($GLOBALS['mysql']['dbase'], '***', $message);
+ } // END - if
+
+ // Is there installation phase?
+ if (isInstaller()) {
+ /*
+ * In installation phase, we don't want SQL errors abort e.g. connection
+ * tests, so just log it away.
+ */
+ logDebugMessage($file, $line, $message);
+ } else {
+ // Regular mode, then call reportBug()
+ reportBug($file, $line, $message);
+ }
+}
+