这是在本地主机上创建与 MySQL 服务器的连接的方式
$Connection = mysql_connect("localhost","root","");
但是 MySQL 似乎忽略了我的用户名和密码,即使我使用一些无意义的用户名和密码创建连接:
$Connection = mysql_connect("localhost","nonsense-username","");
这两种情况都给我 $Connection 作为“资源(39)类型(mysql 链接)”。只有当密码为空时才会发生这种情况。当密码为空时,MySQL 是否默认接受任何用户名?
但是当给出这样的“废话用户名”时,$Connection 应该等于“false”。有什么问题吗?
最佳答案
我假设您已经在自己的计算机上设置了 MySQL 服务器,而没有配置用户、权限或类似的东西。如果是这种情况,则原因可能是 SQL 安全模式。如果在 php.ini 文件中,sql.safe_mode 设置为 1,则 PHP 会将您传递给 mysql_connect() 的任何参数替换为其默认值。这肯定可以解释这种行为。尝试查看 phpinfo() 看看是否是这种情况。
关于php - PHP 中 mysql_connect 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7858007/