0
<?php        
$colname_subselect = "-1";
if (isset($_POST['title'])) {
    $colname_subselect = $_POST['title'];
}
mysql_select_db($database_donedeal, $donedeal);
$query_subselect = sprintf("SELECT * FROM subcategories WHERE subcatename LIKE %s");
?>

前のページからcategories.phpページに投稿されたタイトルから提案されたカテゴリを表示しようとしています。たとえば、前のページのフィールド名のタイトルにはテキストが含まれています:

## I Want My Motor Car To Sell##

送信すると、上で書いたクエリのcategorys.phpに移動します。LIKE 関数を使用すると、前のページのタイトル フィールドに car と書いたようなキーワードを 1 つだけ書き込むと、推奨されるカテゴリを取得できるため、categories.php ページでは、car キーワードを含むカテゴリが提案されます。

いいえ、私が欲しいのは、私が完全な広告投稿タイトルを投稿したときです

## I Want My Motor Car To Sell##

上記のタイトルのような提案されたカテゴリにモーターと車のキーワードが含まれていることを示すにはどうすればよいですか? 私を手に入れましたか?

私はinnodbを使用しているので、MATCHメソッドは機能しません。他の優先メソッドを使用していただければ幸いです...

4

1 に答える 1

0
 $colname_subselect = "-1";
if (isset($_POST['title'])) {
$colname_subselect = $_POST['title'];
}
mysql_select_db($database_donedeal, $donedeal);
$queryString = trim(implode('or subcatename  like ',explode(' ',$colname_subselect )), 'or');
$query_subselect = sprintf("SELECT * FROM subcategories WHERE " . $queryString  );

SQL インジェクションを停止するには、文字列をエスケープする必要がある場合があることに注意してください。

于 2012-12-19T09:04:58.900 に答える