Я новичок на этом сайте.Perl MySQL Полный текст Поиск
У меня есть следующий код для поиска по трем столбцам с полным текстом. (Searchdatabase.title, searchdatabase.keywords, searchdatabase.description)
$SQL_QUERY=<<__CURSOR_1__;
select distinct url, keywords, description, title from searchdatabase
where match (searchdatabase.title, searchdatabase.keywords,
searchdatabase.description) against ('$datasent' IN BOOLEAN MODE)
order by authority_rank desc, rank desc limit 10 offset $page;
__CURSOR_1__
$dbh = DBI -> connect ($dns, $username, $password)
or &Error("Can not connect to database.");
$cursor = $dbh->prepare("$SQL_QUERY");
$cursor->execute;
С моим ограниченным знанием Perl поиска полнотекстового и SQL, у меня есть следующий код, прежде чем приведенный выше код, чтобы сделать некоторые профилактики инъекции SQL и сделать пробелы " + "для поиска.
$datasent =~ s//+/g;
$datasent =~ s/ / +/g;
$datasent =~ s/\n//g;
$datasent =~ s/<//g;
$datasent =~ s/\x00//g;
$datasent =~ s/\r//g;
$datasent =~ s/\x1a//g;
$datasent =~ s/\;//g;
$datasent =~ s/\*//g;
$datasent =~ s/\'//g;
$datasent =~ s/\"//g;
Это правильный способ сделать это? У меня есть чувство, что что-то не так с созданием пробелов в «+» ...
Спасибо за предложение, я редактировал код так, что он подходит. Теперь лучше? –