-5

我是 PHP 新手,我正在尝试通过我的 Bluehost 帐户通过 phpmyadmin 实现与 mysql 数据库的网络通信。现在我编写了以下 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';

          ?>
4

5 回答 5

2

尝试这个:

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

代替:

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

您在这里不需要单引号。

于 2013-03-15T11:20:38.237 回答
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();
}     
于 2013-03-15T11:38:11.457 回答
1

您必须在以下变量中删除引号mysql_connect

mysql_connect ('localhost', $mysql_user, $mysql_pass)
于 2013-03-15T11:50:42.237 回答
1

不计算单引号之间的变量

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

尝试这个:

  mysql_connect ('localhost', $mysql_user, $mysql_pass)
于 2013-03-15T11:21:16.203 回答
1

你应该了解php中的diff bet单引号和双引号。单引号按原样输出字符串。和双引号在输出前解析字符串。

于 2013-03-15T12:38:35.510 回答