Exemple #1
0
/**
 * returns last error message or false if no errors occured
 *
 * @param resource $link mysql link
 *
 * @return string|bool $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;
    return PMA_DBI_formatError($error_number, $error_message);
}
/**
 * returns last error message or false if no errors occured
 *
 * @param resource $link mysql link
 *
 * @return string|bool $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()
    }
    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;
    return PMA_DBI_formatError($error_number, $error_message);
}
 /**
  * Test for error formatting
  *
  * @param integer $number   error number
  * @param string  $message  error message
  * @param string  $expected expected result
  *
  * @return void
  *
  * @dataProvider errorData
  */
 function testFormatError($number, $message, $expected)
 {
     $this->assertEquals(
         $expected,
         PMA_DBI_formatError($number, $message)
     );
 }