我正在为我上一次大学校作业做一个cms,但我现在遇到了问题。我需要存储在另一个文件中的数据库的名称。该文件的php代码是:
<?php
try {
$db = new PDO ("mysql: host = localhost; dbname = name_that_I_need"; "user"; "pass");
$error = "false";
} catch (PDOException $e) {
$error = "true";
}
?>
我需要文字:“name_that_I_need”(没有引号)我怎么能用PHP做到这一点?
答案 0 :(得分:0)
<?php
define('DATABASE_HOST', 'localhost'); # database host address (you can also use direct ip declaration)
define('DATABASE_USER', 'root'); # database user
define('DATABASE_PASS', '1234'); # database user password
define('DATABASE_NAME', 'name'); # database name
define('DATABASE_PORT', '3306'); # database port
...以这种方式编辑示例.php文件更好,并且在两个不同的地方只使用一个带有此信息的来源。
答案 1 :(得分:0)
正如user1597430所说,但最好把这种数据放在环境变量linux中
<?php
define('DATABASE_HOST', getenv('DATABASE_HOST')); # database host address (you can also use direct ip declaration)
define('DATABASE_USER', getenv('DATABASE_USER')); # database user
define('DATABASE_PASS', getenv('DATABASE_PASS')); # database user password
define('DATABASE_NAME', getenv('DATABASE_NAME')); # database name
define('DATABASE_PORT', getenv('DATABASE_PORT')); # database port
当您在服务器中输入env
DATABASE_HOST=localhost
DATABASE_USER=user
DATABASE_PASS=password
DATABASE_NAME=mysql
DATABASE_PORT=3306
所以你可以像这样初始化你的PDO:
new PDO ("mysql: host = " . DATABASE_HOST . "; dbname = ". DATABASE_NAME; DATABASE_USER; DATABASE_PASS)