php - PHP 中 mysql_connect 的奇怪行为

标签 php mysql sql connection behavior

这是在本地主机上创建与 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/

相关文章:

php - Android转PHP加密代码

php - 将数组转换为csv

java.sql.BatchUpdateException : Table doesn't exist

c# - SQL Server 插入

php - 我可以结合元数据还是必须只使用一个元数据?

php - 通过 lon/lat 坐标计算对 PHP/SQL 结果进行排序

java - AWS Elastic Beanstalk 中的 JDBC 连接字符串

php - 在php中从数据库中提取数组

sql - 选择行单元格作为新列

mysql - 在 WHERE 子句中使用一个 Count() 运算符时出现 GROUP BY 错误