在php中的函数fwrite()中,我想写“$”字符?
在上面的代码中,当导入文件时,变量$d&$u不出现在index.php中。我希望$u和$d按原样出现,但php将其视为一个变量,并且没有为任何变量赋值,因此不会显示任何内容,但我希望将$d和$u显示为简单文本以及$domain和$d的值$user已从数据库中提取在php中的函数fwrite()中,我想写“$”字符?,php,variables,fwrite,Php,Variables,Fwrite,在上面的代码中,当导入文件时,变量$d&$u不出现在index.php中。我希望$u和$d按原样出现,但php将其视为一个变量,并且没有为任何变量赋值,因此不会显示任何内容,但我希望将$d和$u显示为简单文本以及$domain和$d的值$user已从数据库中提取 <?php if(isset($_POST['import'])){ $index = fopen("index.php", "w");
<?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>";
}
}
?>
如果我想再次在php中编写sql查询,错误从$id=$row['user_id']行开始;因为这句话
php中是否有任何方法可以让php理解我需要$u和$d作为简单文本,而不是作为fwrite函数中php文件中的php值,以及是否有任何方法可以在php文件中导入sql查询而不会出现任何错误
提前谢谢。您的问题在于使用双引号 在双引号中,您应该使用\$而不是$,因为当使用它时,php认为您想在字符串中放入一个exists变量。试试这个:
<?php
if(isset($_POST['import'])){
$index = fopen("index.php", "w");
$indextxt="
<?php
$user='email@email.com';
$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
if(isset($_POST['import'])){
$index = fopen('index.php', 'w');
$indextxt = "
<?php
\$user='email@email.com';
\$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>";
}
}
?>