Exemplo n.º 1
0
/**
 * returns last error message or false if no errors occured
 *
 * @uses    PMA_DBI_convert_message()
 * @uses    $GLOBALS['errno']
 * @uses    $GLOBALS['userlink']
 * @uses    $GLOBALS['strServerNotResponding']
 * @uses    $GLOBALS['strSocketProblem']
 * @uses    $GLOBALS['strDetails']
 * @uses    mysql_errno()
 * @uses    mysql_error()
 * @uses    defined()
 * @uses    PMA_generate_common_url()
 * @param   resource        $link   mysql link
 * @return  string|boolean  $error or false
 */
function PMA_DBI_getError($link = null)
{
    $GLOBALS['errno'] = 0;
    /* Treat false same as null because of controllink */
    if ($link === false) {
        $link = null;
    }
    if (null === $link && isset($GLOBALS['userlink'])) {
        $link =& $GLOBALS['userlink'];
        // Do not stop now. On the initial connection, we don't have a $link,
        // we don't have a $GLOBALS['userlink'], but we can catch the error code
        //    } else {
        //            return false;
    }
    if (null !== $link && false !== $link) {
        $error_number = mysql_errno($link);
        $error_message = mysql_error($link);
    } else {
        $error_number = mysql_errno();
        $error_message = mysql_error();
    }
    if (0 == $error_number) {
        return false;
    }
    // keep the error number for further check after the call to PMA_DBI_getError()
    $GLOBALS['errno'] = $error_number;
    if (!empty($error_message)) {
        $error_message = PMA_DBI_convert_message($error_message);
    }
    $error_message = htmlspecialchars($error_message);
    // Some errors messages cannot be obtained by mysql_error()
    if ($error_number == 2002) {
        $error = '#' . (string) $error_number . ' - ' . $GLOBALS['strServerNotResponding'] . ' ' . $GLOBALS['strSocketProblem'];
    } elseif ($error_number == 2003) {
        $error = '#' . (string) $error_number . ' - ' . $GLOBALS['strServerNotResponding'];
    } elseif ($error_number == 1005) {
        /* InnoDB contraints, see
         * http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html
         */
        $error = '#' . (string) $error_number . ' - ' . $error_message . ' (<a href="server_engines.php' . PMA_generate_common_url(array('engine' => 'InnoDB', 'page' => 'Status')) . '">' . $GLOBALS['strDetails'] . '</a>)';
    } else {
        $error = '#' . (string) $error_number . ' - ' . $error_message;
    }
    return $error;
}
/**
 * Formats database error message in a friendly way.
 * This is needed because some errors messages cannot
 * be obtained by mysql_error().
 *
 * @param int    $error_number  Error code
 * @param string $error_message Error message as returned by server
 *
 * @return string HML text with error details
 */
function PMA_DBI_formatError($error_number, $error_message)
{
    if (!empty($error_message)) {
        $error_message = PMA_DBI_convert_message($error_message);
    }
    $error_message = htmlspecialchars($error_message);
    $error = '#' . (string) $error_number;
    if ($error_number == 2002) {
        $error .= ' - ' . $error_message;
        $error .= '<br />';
        $error .= __('The server is not responding (or the local server\'s socket is not correctly configured).');
    } elseif ($error_number == 2003) {
        $error .= ' - ' . $error_message;
        $error .= '<br />' . __('The server is not responding.');
    } elseif ($error_number == 1005) {
        if (strpos($error_message, 'errno: 13') !== false) {
            $error .= ' - ' . $error_message;
            $error .= '<br />' . __('Please check privileges of directory containing database.');
        } else {
            /* InnoDB contraints, see
             * http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html
             */
            $error .= ' - ' . $error_message . ' (<a href="server_engines.php' . PMA_generate_common_url(array('engine' => 'InnoDB', 'page' => 'Status')) . '">' . __('Details...') . '</a>)';
        }
    } else {
        $error .= ' - ' . $error_message;
    }
    return $error;
}
Exemplo n.º 3
0
/**
 * returns last error message or false if no errors occured
 *
 * @uses    PMA_DBI_convert_message()
 * @uses    $GLOBALS['errno']
 * @uses    $GLOBALS['userlink']
 * @uses    mysqli_errno()
 * @uses    mysqli_error()
 * @uses    mysqli_connect_errno()
 * @uses    mysqli_connect_error()
 * @uses    defined()
 * @param   resource        $link   mysql link
 * @return  string|boolean  $error or false
 */
function PMA_DBI_getError($link = null)
{
    $GLOBALS['errno'] = 0;
    /* Treat false same as null because of controllink */
    if ($link === false) {
        $link = null;
    }
    if (null === $link && isset($GLOBALS['userlink'])) {
        $link =& $GLOBALS['userlink'];
        // Do not stop now. We still can get the error code
        // with mysqli_connect_errno()
        //    } else {
        //        return false;
    }
    if (null !== $link) {
        $error_number = mysqli_errno($link);
        $error_message = mysqli_error($link);
    } else {
        $error_number = mysqli_connect_errno();
        $error_message = mysqli_connect_error();
    }
    if (0 == $error_number) {
        return false;
    }
    // keep the error number for further check after the call to PMA_DBI_getError()
    $GLOBALS['errno'] = $error_number;
    if (!empty($error_message)) {
        $error_message = PMA_DBI_convert_message($error_message);
    }
    $error_message = htmlspecialchars($error_message);
    if ($error_number == 2002) {
        $error = '#' . (string) $error_number . ' - ' . __('The server is not responding') . ' ' . __('(or the local MySQL server\'s socket is not correctly configured)');
    } else {
        $error = '#' . (string) $error_number . ' - ' . $error_message;
    }
    return $error;
}
Exemplo n.º 4
0
/**
 * returns last error message or false if no errors occured
 *
 * @uses    PMA_MYSQL_INT_VERSION
 * @uses    PMA_convert_display_charset()
 * @uses    PMA_DBI_convert_message()
 * @uses    $GLOBALS['errno']
 * @uses    $GLOBALS['userlink']
 * @uses    $GLOBALS['strServerNotResponding']
 * @uses    $GLOBALS['strSocketProblem']
 * @uses    mysqli_errno()
 * @uses    mysqli_error()
 * @uses    mysqli_connect_errno()
 * @uses    mysqli_connect_error()
 * @uses    defined()
 * @param   resource        $link   mysql link
 * @return  string|boolean  $error or false
 */
function PMA_DBI_getError($link = null)
{
    $GLOBALS['errno'] = 0;
    if (null === $link && isset($GLOBALS['userlink'])) {
        $link =& $GLOBALS['userlink'];
        // Do not stop now. We still can get the error code
        // with mysqli_connect_errno()
        //    } else {
        //        return false;
    }
    if (null !== $link) {
        $error_number = mysqli_errno($link);
        $error_message = mysqli_error($link);
    } else {
        $error_number = mysqli_connect_errno();
        $error_message = mysqli_connect_error();
    }
    if (0 == $error_number) {
        return false;
    }
    // keep the error number for further check after the call to PMA_DBI_getError()
    $GLOBALS['errno'] = $error_number;
    if (!empty($error_message)) {
        $error_message = PMA_DBI_convert_message($error_message);
    }
    if ($error_number == 2002) {
        $error = '#' . (string) $error_number . ' - ' . $GLOBALS['strServerNotResponding'] . ' ' . $GLOBALS['strSocketProblem'];
    } elseif (defined('PMA_MYSQL_INT_VERSION') && PMA_MYSQL_INT_VERSION >= 40100) {
        $error = '#' . (string) $error_number . ' - ' . $error_message;
    } else {
        $error = '#' . (string) $error_number . ' - ' . PMA_convert_display_charset($error_message);
    }
    return $error;
}
Exemplo n.º 5
0
/**
 * returns last error message or false if no errors occured
 *
 * @uses    PMA_MYSQL_INT_VERSION
 * @uses    PMA_convert_display_charset()
 * @uses    PMA_DBI_convert_message()
 * @uses    $GLOBALS['errno']
 * @uses    $GLOBALS['userlink']
 * @uses    $GLOBALS['strServerNotResponding']
 * @uses    $GLOBALS['strSocketProblem']
 * @uses    mysql_errno()
 * @uses    mysql_error()
 * @uses    defined()
 * @param   resource        $link   mysql link
 * @return  string|boolean  $error or false
 */
function PMA_DBI_getError($link = null)
{
    $GLOBALS['errno'] = 0;
    if (null === $link && isset($GLOBALS['userlink'])) {
        $link =& $GLOBALS['userlink'];
        // Do not stop now. On the initial connection, we don't have a $link,
        // we don't have a $GLOBALS['userlink'], but we can catch the error code
        //    } else {
        //            return FALSE;
    }
    if (null !== $link) {
        $error_number = mysql_errno($link);
        $error_message = mysql_error($link);
    } else {
        $error_number = mysql_errno();
        $error_message = mysql_error();
    }
    if (0 == $error_number) {
        return false;
    }
    // keep the error number for further check after the call to PMA_DBI_getError()
    $GLOBALS['errno'] = $error_number;
    if (!empty($error_message)) {
        $error_message = PMA_DBI_convert_message($error_message);
    }
    // Some errors messages cannot be obtained by mysql_error()
    if ($error_number == 2002) {
        $error = '#' . (string) $error_number . ' - ' . $GLOBALS['strServerNotResponding'] . ' ' . $GLOBALS['strSocketProblem'];
    } elseif ($error_number == 2003) {
        $error = '#' . (string) $error_number . ' - ' . $GLOBALS['strServerNotResponding'];
    } elseif (defined('PMA_MYSQL_INT_VERSION') && PMA_MYSQL_INT_VERSION >= 40100) {
        $error = '#' . (string) $error_number . ' - ' . $error_message;
    } else {
        $error = '#' . (string) $error_number . ' - ' . PMA_convert_display_charset($error_message);
    }
    return $error;
}