X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fdb%2Flib-mysqli.php;h=b3559bf7e807a03548b5e511da1dd46517b9e87a;hp=9a1be873010ff6d78a9cef318bfa8739c8d03437;hb=095f5ab59b539834d2c67e5d409d01820e10d8be;hpb=7770a9545292d628afd2be4f58f86da5c9139619 diff --git a/inc/db/lib-mysqli.php b/inc/db/lib-mysqli.php index 9a1be87301..b3559bf7e8 100644 --- a/inc/db/lib-mysqli.php +++ b/inc/db/lib-mysqli.php @@ -10,13 +10,8 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Datenbankschicht fuer MySQL 3/4/5 Server (MySQLi)* * -------------------------------------------------------------------- * - * $Revision:: $ * - * $Date:: $ * - * $Tag:: 0.2.1-FINAL $ * - * $Author:: $ * - * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2013 by Mailer Developer Team * + * Copyright (c) 2009 - 2016 by Mailer Developer Team * * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -44,7 +39,7 @@ if (!defined('__SECURITY')) { function sqlQuery ($sqlString, $file, $line, $enableCodes = TRUE) { // Is there cache? if (!isset($GLOBALS[__FUNCTION__][$sqlString])) { - /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called: ' . $sqlString); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called: ' . $sqlString); // Trim SQL string $sqlStringModified = trim($sqlString); @@ -95,7 +90,7 @@ function sqlQuery ($sqlString, $file, $line, $enableCodes = TRUE) { // Run SQL command //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'file=' . basename($file) . ',line=' . $line . ',sql=' . $GLOBALS['last_sql']); $result = mysqli_query(getSqlLink(), $GLOBALS['last_sql']) - or sqlError($file, $line, 'file='. basename($file) . ',line=' . $line . ':mysqli_error()=' . mysqli_error(getSqlLink()) . ',last_query=' . $GLOBALS['last_sql']); + or logSqlError($file, $line, 'file='. basename($file) . ',line=' . $line . ':mysqli_error()=' . mysqli_error(getSqlLink()) . ',last_query=' . $GLOBALS['last_sql']); //* DEBUG: */ logDebugMessage($file, $line, 'sql=' . $GLOBALS['last_sql'] . ',affected=' . sqlAffectedRows() . ',numRows='.(isValidSqlLink($result) ? sqlNumRows($result) : gettype($result))); // Calculate query time @@ -199,7 +194,7 @@ function sqlResult ($resource, $row, $field = '0') { // SQL connect function sqlConnectToDatabase ($host, $login, $password, $file, $line) { // Try to connect - $linkResource = mysqli_connect($host, $login, $password) or sqlError($file, $line, mysqli_error(getSqlLink())); + $linkResource = mysqli_connect($host, $login, $password) or logSqlError($file, $line, mysqli_error(getSqlLink())); // Set the link resource if ($linkResource instanceof mysqli) { @@ -241,7 +236,7 @@ function sqlSelectDatabase ($dbName, $file, $line) { // Return the result //* DEBUG: */ logDebugMessage($file . ':' . __FUNCTION__, $line . ':' . __LINE__, 'Selecting database ' . $dbName); - return mysqli_select_db(getSqlLink(), $dbName) or sqlError($file, $line, mysqli_error(getSqlLink())); + return mysqli_select_db(getSqlLink(), $dbName) or logSqlError($file, $line, mysqli_error(getSqlLink())); } // SQL close link @@ -254,7 +249,7 @@ function sqlCloseLink ($file, $line) { } // END - if // Close database link and forget the link - $close = mysqli_close(getSqlLink()) or sqlError($file . ':' . __FUNCTION__, $line . ':' . __LINE__, mysqli_error(getSqlLink())); + $close = mysqli_close(getSqlLink()) or logSqlError($file . ':' . __FUNCTION__, $line . ':' . __LINE__, mysqli_error(getSqlLink())); // Close link in this layer unsetSqlLinkUp(__FUNCTION__, __LINE__); @@ -343,45 +338,15 @@ function sqlEscapeString ($str, $secureString = TRUE, $strip = TRUE) { return $GLOBALS['sql_escapes']['' . $str . '']; } -// Log SQL errors to debug.log in installation phase or call reportBug() -function sqlError ($file, $line, $message) { +// Set SQL error in global array +function setSqlError ($file, $line, $message) { // Remember plain error in last_sql_error $GLOBALS['last_sql_error'] = mysqli_error(getSqlLink()); - - // 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); - } } // Checks whether given link is a valid SQL link function isValidSqlLink ($linkInstance) { - // Is it a resource? + // Is it an object? $isValid = (($linkInstance instanceof mysqli) || ($linkInstance instanceof mysqli_result)); // Debug message @@ -391,5 +356,17 @@ function isValidSqlLink ($linkInstance) { return $isValid; } +// Checks whether given result is really a result +function isSqlResult ($resultInstance) { + // Is it a resource? + $isValid = ($resultInstance instanceof mysqli_result); + + // Debug message + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'resultInstance[]=' . gettype($resultInstance). ',isValid=' . intval($isValid)); + + // Return result + return $isValid; +} + // [EOF] ?>