似乎大多数访问问题都是远程的,但这是相反的问题。 以下是所有错误消息:
PHP Warning: mysqli::mysqli(): (28000/1045): Access denied for user 'root'@'10.168.101.35 (using password: YES) in /var/www/html/hamlookup/index.php on line 291
PHP Warning: main(): Couldn't fetch mysqli in /var/www/html/hamlookup/index.php on line 291
PHP Fatal error: Call to undefined method mysqli::fetch_fields() in /var/www/html/hamlookup/index.php on line 295
我在CentOS 7上设置了带有密码的MariaDB,我可以使用任何SQL客户端(不涉及php或apache)从各种Windows机器远程访问它。
我也可以使用mysql命令行工具访问它 mysqli在php中启用(我用phpinfo()检查。
然而,当我检查我的网页运行时,我收到了这些错误" php index.php"在控制台上,当然当通过apache访问网页时,它也会在那里崩溃。
导致错误的行是(方括号中的行号):
[290] $mysqli = new mysqli( "10.168.101.35","root","*****","hamlookup" );
[291] if( $mysqli->error ){
[292] [calling error function here then exit]
[293] }
[294] $result = "SELECT * FROM mytable";
[295] $fieldinfo = $mysqli->fetch_fields( $result );
似乎这是php,mysql和apache之间的问题,但我无法弄清楚。
我还尝试通过PDO连接,但仍然无法连接到服务器。
这很荒谬,因为我可以通过CLI和网络连接,只是php无法访问数据库。
答案 0 :(得分:0)
您需要在文件/etc/my.cnf
中添加该行[mysqld]
bind-address = 0.0.0.0
重启mysql
答案 1 :(得分:0)
问题解决了......
我正在检查$ myDPO-> errorInfo()以错误地验证成功。
这是从旧的mysql _ ***访问API迁移而来的,实际上我正在访问数据库。
一旦更改了errorInfo()检查,似乎一切正常。
抱歉带宽。