【发布时间】:2014-07-15 02:51:57
【问题描述】:
我正在尝试为数据库连接创建一个单独的登录文件,因为我不太喜欢在需要数据库访问的每个页面上拥有所有访问详细信息。
我在我的服务器上创建了一个单独的文件,其中包含成功登录所需的变量,然后使用;
include_once('path_to_file/filename.php');
获取变量然后使用;
$dbconnection = mysqli_connect("$hostname","$username","$password","$database") or die ("Could not connect to the server");
但每次连接都会失败。我尝试在我尝试包含的文件中包含连接脚本,但随后我收到此消息:
Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)
我不太确定如何解决这个问题,但我服务器中的每个页面或多或少都会访问数据库,我认为在各处复制登录详细信息一定会带来安全风险!
有人有什么建议或替代方案吗?
数据库记录格式为:
<?php
# parameters for connection to MySQL database
$hostname="hostname";
$database="databasename";
$username="username";
$password="password";
?>
附:我也尝试过 require 并得到了相同的结果。
【问题讨论】:
-
echo $hostname;echo $username;?你得到了什么
-
包含的文件到底长什么样?
-
我可以从主脚本中回显变量,但 mysqli_connect 不会接受它们。我已经更新了上述内容以正确格式化代码。
-
去掉mysqli_connect命令的引号:
mysqli_connect($hostname, $username, $password, $database) -
@Reeno 从技术上讲,这仍然可以工作,因为双引号字符串仍然可以识别变量