FWRITE用户DB信息在安装过程中要提交



我试图为我的应用创建安装向导。在其中一个步骤之一中,我试图编写/存储用户连接详细信息到文件。有人知道这样做的更好方法吗?当我的代码达到$符号时,我的代码显然会破裂。

    $myFile = "../functions/config2.php";
    $fh = fopen($myFile, 'w') or die("can't open file");
    $stringData = "<? #DATABASE CONNECTIONSn";
    fwrite($fh, $stringData);
    $stringData = "$dbservertype='mysql';n";
    fwrite($fh, $stringData);
    $stringData = "$servername='".$_POST['host']."';n";
    fwrite($fh, $stringData);
    $stringData = "$dbusername='".$_POST['dbusername']."';n";
    fwrite($fh, $stringData);
    $stringData = "$dbpassword='".$_POST['dbpass']."';n";
    fwrite($fh, $stringData);
    $stringData = "$dbname='".$_POST['dbname']."';n";
    fwrite($fh, $stringData);
    $stringData = "global $link;n";
    fwrite($fh, $stringData);
    $stringData = "$link=mysql_connect ('$servername','$dbusername','$dbpassword');n";
    fwrite($fh, $stringData);
    $stringData = "if(!$link){die('Could not connect to MySQL');}n";
    fwrite($fh, $stringData);
    $stringData = "mysql_select_db('$dbname',$link) or die ('could not open db'.mysql_error());n";
    fwrite($fh, $stringData);
    fclose($fh);

我希望书面文件最终看起来像这样的东西

    <?
    //DATABASE CONNECTIONS
    $dbservertype='mysql';
    $servername='posted_server';
    $dbusername='posted_user';
    $dbpassword='posted_pass';
    $dbname='posted_dbname';
    global $link;
    $link=mysql_connect ("$servername","$dbusername","$dbpassword");
    if(!$link){die("Could not connect to MySQL");}
    mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error());
    ?>

我的输出现在看起来像这样

    <? #DATABASE CONNECTIONS
    ='mysql';
    ='host';
    ='user';
    ='pass';
    ='dbname';
    global ;
    =mysql_connect ('','','');
    if(!){die('Could not connect to MySQL');}
    mysql_select_db('',) or die ('could not open db'.mysql_error());

您正在使用双引号"在PHP中,如果您在双引号中包括有效变量名称的内容,则PHP将插值该变量,并且如果它不存在,则它将无法解决或丢弃错误。请参阅此处

您应该逃脱$标志:

$stringData = "$dbservertype='mysql';n";

最新更新