2012-04-17 3 views
-1

Так что я подключиться к базе данных MySQL, используя следующий код:mysql_connect - Доступ запрещен к DB или DB не существует?

function dbConnect($h,$u,$p,$n) { 
    if (!$con = @mysql_connect($h,$u,$p)) {$err = err("There is a problem connecting to the database. ".mysql_error());} 
    else if ([email protected]_select_db($n,$con)) {$err = err("The database \"{$n}\" could not be found. Check your spelling, make sure the database exists, and that your database credentials allows you access to this database.");} 
    return (isset($err)) ? $err : ""; 
} 

Проблема, если они положили в неправильном имени пользователя, mysql_connect не видит ничего плохого с ним и попытаться подключиться к базе данных, которая выводит ошибку для mysql_select_db().

Итак, я нашел this link. Теперь обычное удаление «любого» пользователя было бы выполнимым, но я создаю phpMyAdmin-подобный инструмент и буду подключаться к различным базам данных со всеми типами конфигураций. Как я могу определить, к какому имени пользователя можно подключиться? И как я могу различать имя базы данных, которое не существует, и имя пользователя, не имеющее к нему доступа?

+0

Что такое 'если (! $ CON = @mysql_connect ($ ч, $ и, $ р))'? – Lion

+0

Попробуйте удалить @s. Вы можете отменить полезную ошибку. – mqsoh

+0

Вы не следуете даже по ссылке [link] (http://stackoverflow.com/questions/7312401/php-mysql-connect-not-returning-false), о которой вы упомянули. – Lion

ответ

1

использование mysql_errno()

см коды ошибок here

Смежные вопросы