2

PHPで#をエスケープするにはどうすればよいですか? クエリで使用すると、コードの残りの行がコメントに変わります。これは私が今持っているものです:

$columns = "head1, #_search, #_stuff";
$result = mysql_query("SELECT $columns from table LIMIT $k,$j");

コメントになるだけなので、エスケープを直後に置くことはできません。$columns

~編​​集: はい、おそらくコードを直接コピーする必要がありましたが、その一部は機密であり、はるかに複雑です。

4

4 に答える 4

3

文字列に使用する必要がありquotesます:

$columns = 'head1, #_search, #_stuff';

ただし、これはまだあまり意味がありません。

PDOフェイバーや mysqliオーバーにもオススメですmysql_*

于 2012-07-16T23:48:08.983 に答える
2

バックスラッシュを追加してみてください

$columns = 'head1, \#_search, \#_stuff';
于 2012-07-16T23:49:27.740 に答える
1

以下はいかがですか?:

$columns = "head1, `#_search`, `#_stuff`";

`(バッククォート) を使用して、予約語を引用できます。

テーブル/列名を引用したい場合は、次の例を実行できます。

 SELECT * FROM `#table1` WHERE `#table1`.`#column1` = 1;

参照

于 2012-07-17T00:03:12.973 に答える
1

文字列リテラルではないでしょうか?

$columns = 'head1, #_search, #_stuff'
于 2012-07-16T23:49:07.350 に答える