0

基本上我试图让 php 文件创建另一个 php 文件,其中包含 XHTML、PHP 和 MYSQL。我正在尝试包含一个 MYSQL 查询,但问题是我用来启动 fwrite 字符串的撇号 (') 在到达 MYSQL 查询时会混淆,因为它也有一个撇号,但我只是希望该字符串继续不结尾。我应该怎么做才能使它起作用?提前感谢您的帮助。

代码(只是相关位):

$filename = "websites/".$firstpage.".php";
$filehandle = fopen($filename, 'w') or die("error opening file");
$datawrite = '
$query = "SELECT websitetitle FROM $weblist WHERE webID='$webID'";
$result =  mysql_query ($query);
$row = mysql_fetch_array( $result );

echo $row['webID'];

';
fwrite($filehandle, $datawrite);

fclose($filehandle);
4

2 回答 2

1

您应该使用 \' 转义查询中的 ' 这将不会执行并结束字符串

$filename = "websites/".$firstpage.".php";
$filehandle = fopen($filename, 'w') or die("error opening file");
$datawrite = '
    $query = "SELECT websitetitle FROM $weblist WHERE webID=\'$webID\'";
    $result =  mysql_query ($query);
    $row = mysql_fetch_array( $result );

    echo $row[\'webID\'];

';
fwrite($filehandle, $datawrite);

fclose($filehandle);

查看此内容以供参考 http://php.net/manual/en/language.types.string.php

于 2012-04-26T15:51:15.380 回答
0

只需使用适当的转义并将 a\放在撇号之前。

$datawrite = '
$query = "SELECT websitetitle FROM $weblist WHERE webID=\'$webID\'";
$result =  mysql_query ($query);
$row = mysql_fetch_array( $result );

echo $row[\'webID\'];

';
于 2012-04-26T15:51:29.157 回答