我阅读了有关常见问题的留言板通知。我知道这个很常见,但我已经审查了stackoverflow上的所有相关帖子,但无法找到解决此问题的方法。
我正在使用最新的MAMP。我有一个mysql数据库,我在命令行中使用MAMP附带的mysql设置。我有一个名为“phpuser”的用户,其密码为“phpuser”。我已经多次检查过,可以通过命令行使用该用户和密码登录。
这是我的代码。它直接来自这里的介绍教程(http://www.w3schools.com/php/php_mysql_connect.asp):
<?php
$servername = "localhost";
$username = “phpuser”;
$password = “phpuser”;
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
当我使用最新的MAMP php版本运行它时,我收到此错误:
Nicks-MacBook-Pro:你好,尼克$ /Applications/MAMP/bin/php/php5.6.2/bin/php first_db.php
注意:在第3行的/Applications/MAMP/htdocs/howdy/first_db.php中使用未定义的常量“phpuser” - 假设为“”phpuser“'
注意:使用未定义的常量“phpuser” - 在第4行的/Applications/MAMP/htdocs/howdy/first_db.php中假定为“”phpuser“
警告:mysqli :: mysqli():( 28000/1045):第7行的/Applications/MAMP/htdocs/howdy/first_db.php中的用户'“phpuser”'@'localhost'(使用密码:YES)拒绝访问
连接失败:用户'“phpuser”'@'localhost'拒绝访问(使用密码:YES)
我尝试使用默认的php版本运行它然后我得到一个不同的错误:
Nicks-MacBook-Pro:你好,尼克$ php first_db.php
警告:mysqli :: mysqli():( HY000 / 1045):第7行的/Applications/MAMP/htdocs/howdy/first_db.php中的用户'“phpuser”'@'localhost'(使用密码:YES)拒绝访问
连接失败:用户'“phpuser”'@'localhost'拒绝访问(使用密码:YES)
我已尝试使用127.0.1.1而不是本地主机,但这也不起作用。我检查了我的主机文件,这看起来很好。无论如何这是:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
我也尝试过运行MAMP文档中的示例代码:http://www.mamp.info/en/documentation/MAMP-3-User-Guide.pdf
我运行以下内容:
<?php
DEFINE('DB_USERNAME', 'phpuser');
DEFINE('DB_PASSWORD', 'phpuser');
DEFINE('DB_HOST', 'localhost');
DEFINE('DB_DATABASE', 'status');
// http://www.php.net/manual/en/mysqli.connect.php
$mysqli = new mysqli(DB_HOST, DB_USERNAME,
DB_PASSWORD, DB_DATABASE);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno()
. ') ' . mysqli_connect_error());
}
echo 'Connected successfully.';
$mysqli->close();
?>
我收到以下错误:
Nicks-MacBook-Pro:你好,尼克$ /Applications/MAMP/bin/php/php5.6.2/bin/php first_db.php
注意:在第3行的/Applications/MAMP/htdocs/howdy/first_db.php中使用未定义的常量'phpuser' - 假定''phpuser''
注意:在第4行的/Applications/MAMP/htdocs/howdy/first_db.php中使用未定义的常量'phpuser' - 假定''phpuser''
注意:在第6行的/Applications/MAMP/htdocs/howdy/first_db.php中使用未定义的常量'status' - 假定''status''
警告:mysqli :: mysqli():( 28000/1045):在第9行的/Applications/MAMP/htdocs/howdy/first_db.php中拒绝用户''phpuser''@'localhost'(使用密码:YES)
连接错误(1045)访问被拒绝用户''phpuser''@'localhost'(使用密码:是)
我已经尝试了其他教程,并且所有教程都返回错误。我尝试使用define()函数而不是变量,但似乎不起作用。我已经阅读了几个关于“使用未定义常量”问题的线索,但我看不出这里有什么解决方案适用于我。
我还尝试使用以下代码添加指向mysql.socket的链接。这也没有帮助我(我没有启动/ var / mysql文件)。
sudo mkdir /var/mysql
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock
我也尝试过使用不同的mysql套接字,无法正常运行任何代码。
答案 0 :(得分:8)
你在phpuser周围使用的引号(“)看起来像特殊字符(从word复制粘贴?)...尝试用(”)替换它们。