”END_OF_SQL” は「ヒアドキュメント」を調べましょう。。
2007年10月1日 コンピュータアクセス元を見ていてたまに「END_OF_SQL」で検索してくる人がいる。。。。ってググるとこの日記が TOP に来てるやん。
ええと、「END_OF_SQL」ってなんか意味ありげな予約語に見えるかもしれないけど、違います。意味は無いです。
これは「ヒアドキュメント」という機能で、
例えば
としているのを
としても
でもいいわけである。
なお、ヒアドキュメントは「<」の数で
変数展開の規則が変わる言語があるとか、
PHP では @ は普通の文字だが
perl では @ は展開される変数の Prefix になるとか
あるので、かならず使用するもののヘルプ等を参照しましょう。
---
2009-6-12 追記・修正
SQL を記述したヒアドキュメントで変数展開することはSQLインジェクションの脆弱性につながる場合があるため、サンプルを変数展開がないものに差し替えました。
ええと、「END_OF_SQL」ってなんか意味ありげな予約語に見えるかもしれないけど、違います。意味は無いです。
これは「ヒアドキュメント」という機能で、
例えば
$SQL=<<End_Of_SQL
SELECT ’Hello’;
End_Of_SQL
としているのを
$SQL=<<End_STRING
SELECT ’Hello’;
End_STRING
としても
$SQL=<<OSHIMAIDAYO
SELECT ’Hello’;
OSHIMAIDAYO
でもいいわけである。
なお、ヒアドキュメントは「<」の数で
変数展開の規則が変わる言語があるとか、
PHP では @ は普通の文字だが
perl では @ は展開される変数の Prefix になるとか
あるので、かならず使用するもののヘルプ等を参照しましょう。
---
2009-6-12 追記・修正
SQL を記述したヒアドキュメントで変数展開することはSQLインジェクションの脆弱性につながる場合があるため、サンプルを変数展開がないものに差し替えました。
コメント