基本上我的问题是下一个...以下脚本连接数据库并创建一个文件....一切正常..除了它填充文件时...它不会放置变量{ {1}},$username
,$password
和$server
到文件中。
创建的文件看起来像这样
$dbname
但它应该在引号内有一些东西:S
我的脚本如下
<?php
// Database Constants
$DB_SERVER ="";
$DB_USER ="";
$DB_PASS ="";
$DB_NAME ="";
?>
答案 0 :(得分:3)
您的变量$username
,$password
,...不是全局变量。它们不在函数范围内。您需要将这些变量传递给函数。
或使用global
关键字:
function createfile ($dbFile) {
global $server;
global $username;
global $password;
global $dbname;
...
但请注意,过度使用global
是非常糟糕的做法。
答案 1 :(得分:1)
您没有将$server, $username, $password, $dbname
传递给该功能。
尝试
function createfile($dbfile,$params)
{
list($server,$username,$password,$dbname) = $params;
/* ... */
}
/* ... */
if (createfile($dbFile,array($server,$username,$pasword,$dbname)))
答案 2 :(得分:1)
你需要转换:
function createfile ($dbFile) {
//Creates File and populates it.
到此:
function createfile ($dbFile) {
global $username, $password, $server, $dbname;
//Creates File and populates it.
或者这个:
function createfile ($dbFile, $username, $password, $server, $dbname) {
//Creates File and populates it.
自然在最后一种情况下你的电话会变成:
createfile ($dbFile, $username, $password, $server, $dbname);
答案 3 :(得分:0)
您需要使用global
关键字引用全局变量:
function createfile ($dbFile) {
global $username, $password, $server, $dbname;
或明确地将它们传递给createfile
:
function createfile ($dbFile, $username, $password, $server, $dbname) {
/* ... */
if (createfile($dbFile, $username, $password, $server, $dbname)) {