使用php脚本连接到mysql

时间:2015-02-27 04:29:23

标签: php mysql mysqli mamp

我阅读了有关常见问题的留言板通知。我知道这个很常见,但我已经审查了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套接字,无法正常运行任何代码。

1 个答案:

答案 0 :(得分:8)

你在phpuser周围使用的引号(“)看起来像特殊字符(从word复制粘贴?)...尝试用(”)替换它们。