问题描述
<?PHP
if(isset($_POST['import'])){
$index = fopen("index.PHP","w");
$indextxt="
<?PHP
$d='".$domain."'; $u='".$user."';
?>";
if(fwrite($index,$indextxt)){
echo"<script> alert('Downloaded!');</script>";
}
}
?>
在上面的代码中,当导入文件时,变量$ d和$ u没有出现(什么都没有出现)在index.PHP中,我希望$ u和$ d照原样出现,但是PHP认为它是变量,并且由于没有为任何变量赋值,因此不会显示任何内容,但我想将$ d和$ u显示为简单文本,并从数据库中获取$ domain和$ user的值。
<?PHP
if(isset($_POST['import'])){
$index = fopen("index.PHP","w");
$indextxt="
<?PHP
$user='[email protected]';
$sql='SELECT * from content WHERE email='.$user.'';
$run= MysqLi_query($con,$sql);
if (MysqLi_num_rows($run) > 0) {
while($row = MysqLi_fetch_array($run)) {
$id=$row['user_id'];
$name=$row['c_name'];
$phone=$row['c_number'];
$whatsapp=$row['w_number'];
}
}
$d='".$domain."'; $u='".$user."';
?>";
if(fwrite($index,$indextxt)){
echo"<script> alert('Downloaded!');</script>";
}
}
?>
如果我想再次在PHP中写一个SQL查询,则错误从行$ id = $ row ['user_id']开始;因为这个单引号'
。
在PHP中有什么方法可以使PHP理解我需要$ u和$ d作为简单文本,而不是fwrite函数中的PHP文件中的PHP值,以及将SQL查询导入到PHP文件中的任何方法而没有任何错误?
谢谢。
解决方法
您的问题是关于使用双引号
用双引号引起来,您应该使用\ $而不是$,因为在使用它时,php认为您想在字符串中放置一个exist变量。试试这个:
<?php
if(isset($_POST['import'])){
$index = fopen('index.php','w');
$indextxt = "
<?php
\$user='[email protected]';
\$sql='SELECT * from content WHERE email='.\$user.'';
\$run= mysqli_query(\$con,\$sql);
if(mysqli_num_rows(\$run) > 0){
while(\$row = mysqli_fetch_array(\$run)){
\$id = \$row['user_id'];
\$name = \$row['c_name'];
\$phone = \$row['c_number'];
\$whatsapp = \$row['w_number'];
}
}
\$d = '\" . \$domain . \"';
\$u = '\" . \$user . \"';
?>";
if(fwrite($index,$indextxt)){
echo"<script> alert('Downloaded!');</script>";
}
}
?>