2013-03-15 71 views
-4

我是新来的PHP,我试图通过我的Bluehost帐户通过phpmyadmin通过mysql数据库实现网络通信。现在,我已经写了下面的PHP脚本来检查我是否可以连接,但我无法连接:PHP连接错误

  <?php 
      $mysql_host='localhost'; 
      $mysql_user='xxx'; 
      $mysql_pass ='xxx'; 


      mysql_connect ('localhost', '$mysql_user', '$mysql_pass') 
      or die ('I cannot connect to the database.'); 
      //echo 'hello'; 

      ?> 
+0

而你的问题是? – 2013-03-15 11:19:58

+2

删除引号变量 - mysql_connect('localhost',$ mysql_user,$ mysql_pass) – Waygood 2013-03-15 11:20:30

+0

我的问题是,我无法理解我可能会出错,有什么建议吗?由于我是PHP新手,请耐心等待。 – Skynet 2013-03-15 11:20:34

回答

2

试试这个:

mysql_connect ('localhost', $mysql_user, $mysql_pass) 

相反的:

mysql_connect ('localhost', '$mysql_user', '$mysql_pass') 

你这里不需要单引号。

1

单引号之间的变量不计算

mysql_connect ('localhost', '$mysql_user', '$mysql_pass') 

试试这个:

mysql_connect ('localhost', $mysql_user, $mysql_pass) 
1

引号让你的增值经销商为一个字符串! 从不张贴您传递和用户...甚至当地 使用

mysql_connect ($mysql_host, $mysql_user, $mysql_pass); 

不使用die(),使用错误日志。

更好会是一个pdo连接,它会给你更多的安慰和安全。

make shure pdo在mysql配置中是可调的,大部分是默认启用的。

你可以建立一个PDO的连接,如

$dsn = 'mysql:dbname=<databasename>;host=<hostname>'; 
    $user = '<user>'; 
    $password = '<passwd>'; 

try {                   
    $dbh = new PDO($dsn, $user, $password); 
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch (PDOException $e) { 
    $_SESSION['error'] .= 'Verbindung fehlgeschlagen: ' . $e->getMessage(); 
}  
1

你必须删除周围变量引号mysql_connect

mysql_connect ('localhost', $mysql_user, $mysql_pass) 
1

你应该明白差异赌单引号和双引号在PHP。 单引号输出字符串照原样。并且双引号在输出之前解析字符串。