Странное поведение mysql_connect в PHP - PullRequest
0 голосов
/ 22 октября 2011

Так создается соединение с сервером MySQL на локальном хосте

$Connection = mysql_connect("localhost","root","");

Но MySQL, похоже, игнорирует мои имя пользователя и пароль, даже если я создаю соединение с каким-то бессмысленным именем пользователя и паролем:

$Connection = mysql_connect("localhost","nonsense-username","");

В обоих случаях указывается $ Connection как "ресурс (39) типа (ссылка на MySQL)". И это происходит только тогда, когда пароль пуст. Является ли поведение по умолчанию MySQL для принятия любого имени пользователя, когда пароль пуст?

Но предполагается, что $ Connection равно false, когда задано такое «бессмысленное имя пользователя». Что-то не так?

Ответы [ 2 ]

2 голосов
/ 22 октября 2011

Я собираюсь предположить, что вы настроили сервер MySQL на своем компьютере, не настраивая пользователей, разрешения и тому подобное.Если это так, то причиной может быть безопасный режим SQL.Если в вашем файле php.ini для sql.safe_mode задано значение 1, PHP заменит любые аргументы, которые вы передадите mysql_connect (), на их значения по умолчанию.Это, безусловно, объясняет это поведение.Попробуйте посмотреть на phpinfo (), чтобы убедиться, что это так.

0 голосов
/ 14 мая 2013

Кажется, вы не перезапустили веб-сервер после установки php-mysql.Пожалуйста, перезапустите веб-сервер, он должен работать.Я потратил два часа на его отладку, и простым решением было перезапустить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...