<?
$string = '<?php
$con = mysql_connect("localhost","#","#");
if (!$con)
{
die("Could not connect: " . mysql_error());
}
$location = $_SERVER["REMOTE_ADDR"];
$live = "Scotland";
mysql_select_db("#", $con);
// Line 77 below
mysql_query("UPDATE order SET location='{$location}' WHERE live='{$live}'");
?>';
$my_file = 'data.php';
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);
fwrite($handle, $string);
?>
当我尝试上面的代码时,我在尝试写入data.php文件时遇到了这个错误:
分析错误:语法错误,中出现意外的"{"/home/#/public_html/write.php,第77行
我已尝试从{location}和{live}周围删除撇号('(,但查询不起作用。
有人能帮我吗,谢谢
我假设您正在尝试制作某种自动代码生成脚本。
看来你已经遇到引号的问题了。
您似乎遇到的问题是,在生成字符串时解释变量,而不是在另一边。以下内容至少可以解决您遇到的一个问题:
<?php
$string = <<<EOT
<?php
$con = mysql_connect("localhost","#","#");
if (!$con)
{
die("Could not connect: " . mysql_error());
}
$location = '$_SERVER["REMOTE_ADDR"];
$live = "Scotland";
mysql_select_db("#", $con);
// Line 77 below
mysql_query("UPDATE order SET location='{$location}' WHERE live='{$live}'");
?>
EOT;
$my_file = 'data.php';
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);
fwrite($handle, $string);
?>
此外,这仍然不会在另一端编译,你需要在你正在使用的所有变量上转义"$"(比如''$con和''$live(
(代码未经测试(
然而,要解决您的实际问题,请尝试以下操作:
mysql_query("UPDATE order SET location=''{$location}'' WHERE live=''{$live}''");
(转义引号(
你可以试试这个:
mysql_query("UPDATE order SET location=".$location." WHERE live=".$live);