1
$query="SELECT * FROM tablename where fieldname='".$folders['name']."'";

上記の行は、WHERE句のフィールドにデータの間にスペースが含まれている私のクエリです.そのファイルに存在するスペースを削除する方法..mysqlのwhere句でトリムまたは置換を使用するように

4

1 に答える 1

1

データに存在するすべてのスペースを削除したい場合は、Replace()空の文字を使用できます。

$var = $folders['name'];
$query = "SELECT * FROM tablename where REPLACE(fieldname, ' ','') = '$var'";

ただし、インデックスを強制終了する可能性があるため、クエリはテーブル全体のスキャンを実行し、大規模なデータベースでは速度が低下することに注意してください。


補足として、変数のSQL Injection値が外部から取得された場合、クエリは脆弱です。予防方法については、以下の記事をご覧ください。を使用すると、値を一重引用符で囲む必要がなくなります。PreparedStatements

于 2013-03-23T06:11:10.410 に答える