我在php上编写了一个自定义应用程序,它与数据库连接。如果我在windows服务器上运行它,应用程序将与数据库连接正确。如果我在ubuntu apache2上运行它,就会得到以下错误:
<b>Warning</b>: mysqli::real_connect(): (28000/1045): Access denied for user 'user'@'localhost'
(using password: YES) in <b>/var/www/html/reportCMS/php/classes/Database.class.php</b> on line <b>137
</b><br />
<br />
<b>Warning</b>: mysqli::set_charset(): invalid object or resource mysqli
in <b>/var/www/html/reportCMS/php/classes/Database.class.php</b> on line <b>141</b><br />
<br />
<b>Warning</b>: mysqli::prepare(): invalid object or resource mysqli
in <b>/var/www/html/reportCMS/php/classes/Database.class.php</b> on line <b>829</b><br />
<br />
<b>Fatal error</b>: Problem preparing query (SELECT id,username,password,type from user WHERE BINARY
username=? AND active=1 ) Access denied for user 'user'@'localhost' (using password: YES) in <b
>/var/www/html/reportCMS/php/classes/Database.class.php</b> on line <b>830</b><br />Database.class.php第137行是:
$this->_mysqli = mysqli_init();
$this->_mysqli->real_connect( $this->host, $this->username, $this->password, $this->db, $this->port );
$this->_mysqli->set_charset ('utf8');在这两种情况下,与数据库的连接都是在带有mysql的ubuntu机器上。
你能指点我吗,怎么找出错误?如果您需要更多的信息,请告诉我。
编辑:唯一的区别是权限的配置文件,它在ubuntu上是localhost。而在windows机器上则是ubuntu的IP。但是我同时授予了本地主机和mysql %的权限。
EDIT2:(@ anant建议)
Warning: mysqli::real_connect(): (HY000/1045): Access denied for user 'user'@'myip' (using password: NO) in C:\wamp\www\reportCMS\php\classes\Database .class.php on line 138
Warning: mysqli::set_charset(): invalid object or resource mysqli in C:\wamp\www\reportCMS\php\classes\Database.class.php on line 142
Warning: mysqli::prepare(): invalid object or resource mysqli in C:\wamp\www\reportCMS\php\classes\Database.class.php on line 830
Fatal error: Problem preparing query (SELECT id,username,password ,type from user WHERE BINARY username=? AND active=1 ) Access denied for user 'user'@'myip (using password: NO) in C:\wamp\www\reportCMS\php\classes\Database.class.php on line 831发布于 2015-07-20 09:17:05
我终于解决了。我的错误是配置文件(用户名、密码、db)是在Windows上创建的。由于文件上有一些空格插入,所以我用Netbeans从Ubuntu中删除它,并且它工作了。
https://stackoverflow.com/questions/31243976
复制相似问题