Php I';我在一个字符串连接行解析错误中得到了这个错误:语法错误,意外的T\u常量\u封装了\u字符串
我想让一个安装文件使用下面的字符串创建一个配置文件,但我一直遇到这样的错误:解析错误:语法错误,意外的T_常量\u封装了\u字符串Php I';我在一个字符串连接行解析错误中得到了这个错误:语法错误,意外的T\u常量\u封装了\u字符串,php,string,syntax-error,Php,String,Syntax Error,我想让一个安装文件使用下面的字符串创建一个配置文件,但我一直遇到这样的错误:解析错误:语法错误,意外的T_常量\u封装了\u字符串 $tempcon = ' <?php // Give Usage string for Config File if(isset($_GET["gimi"])) { die('"' . str_replace('\\','\\\\',__FILE__) . '"'); // <--- The error is on this line! } $dbh
$tempcon = '
<?php
// Give Usage string for Config File
if(isset($_GET["gimi"])) {
die('"' . str_replace('\\','\\\\',__FILE__) . '"'); // <--- The error is on this line!
}
$dbhost = "'. $_POST["dbhost"] .'"; // Database Host Address
$dbname = "'. $_POST["dbname"] .'"; // Database Name
$dbuser = "'. $_POST["dbuser"] .'"; // Database Username
$dbpass = "'. $_POST["dbpass"] .'"; // Database Password
?>';
$tempcon='1!'
您需要转义字符串中的”
。您的最后四个字符串分配似乎已中断。我建议改用herdoc/nowdoc来避免问题
编辑:除此之外,您似乎正在使用php编写一个php文件,以动态连接到另一个由用户控制的数据库。这有一股难闻的气味。。。你能再描述一下你想做些什么吗?必须有更好的方法来完成它。您(当前)遇到的解析错误是由于数组索引上的引号引起的-尽管正如穆萨所指出的,您的die()也会给您带来麻烦。更好的解决方法:使用
LOL,我甚至没有注意到所有的php块都放在了一个变量中,我正忙于计算错误行上的斜杠和单引号:我正在编写一个使用用户动态输入的安装脚本,在添加“if(isset)”之前,它工作得很好protion你能说得更具体些吗?@RobertH在die
中有,
s,它们需要转义
<?php
$tempcon = <<<PHPCODE
<?php
// Give Usage string for Config File
if(isset({$_GET["gimi"]})) {
die('"' . str_replace('\\','\\\\',__FILE__) . '"'); // <--- The error is on this line!
}
$dbhost = "'. {$_POST["dbhost"]} .'"; // Database Host Address
$dbname = "'. {$_POST["dbname"]} .'"; // Database Name
$dbuser = "'. {$_POST["dbuser"]} .'"; // Database Username
$dbpass = "'. {$_POST["dbpass"]} .'"; // Database Password
?>
PHPCODE;