/** * 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) ); }