我是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';
?>
答案 0 :(得分:2)
试试这个:
mysql_connect ('localhost', $mysql_user, $mysql_pass)
而不是:
mysql_connect ('localhost', '$mysql_user', '$mysql_pass')
这里不需要单引号。
答案 1 :(得分:1)
不评估单引号之间的变量
mysql_connect ('localhost', '$mysql_user', '$mysql_pass')
试试这个:
mysql_connect ('localhost', $mysql_user, $mysql_pass)
答案 2 :(得分:1)
引号使你的vars成为一个字符串! 永远不会发布你传递和用户......甚至是本地的 使用
mysql_connect ( $mysql_host, $mysql_user, $mysql_pass);
请勿使用die()
,请使用错误日志。
更好的是pdo连接,它会给你更多的安慰和安全。
使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();
}
答案 3 :(得分:1)
您必须删除mysql_connect
中变量的引号:
mysql_connect ('localhost', $mysql_user, $mysql_pass)
答案 4 :(得分:1)
你应该理解php中单引号和双引号的差异。 单引号输出字符串。和双引号在输出之前解析字符串。