0

基本的に、phpファイルを取得して、XHTML、PHP、およびMYSQLを含む別のphpファイルを作成しようとしています。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 に答える