SELECT * FROM `entries` WHERE MATCH(`title`) AGAINST('Linux\'s')< /code>
У вас есть ошибка в вашем синтаксисе SQL; Проверьте руководство, которое соответствует вашей версии MySQL Server для правильного синтаксиса для использования рядом с 'S' 'в строке 1 < /p>
У меня нет непреднамеренной идеи, почему эта ошибка сохраняется, когда цитата сбежалась. < /p>
ps: верхний запрос работает в phpmyadmin < /strong>. < /p>
class SmalllightSearch extends Smalllight {
//----- SEARCH BY FIELD VALUE -----\\
public function searchByFieldValue($field, $value, $smart = true, $limit = NULL, array $orderby = NULL) {
$value = mysql_real_escape_string($value);
$entries = array();
$q = "SELECT * FROM `".$this->table."` WHERE MATCH (`$field`) AGAINST ('$value')";
echo $q;
if($orderby != NULL) {
$list = array();
foreach($orderby as $k => $v) { array_push($list, '`'.$k.'` '.$v); }
$order = implode(', ', $list);
$q .= ' ORDER BY '.$order;
}
if($limit != NULL) { $q .= ' LIMIT '.$limit; }
$r = mysql_query($q) or die(mysql_error());
while($row = mysql_fetch_assoc($r)) {
array_push($entries, $row);
}
if($smart == true) {
$right = new Smalllight('right');
$wrong = new Smalllight('wrong');
$words = str_word_count($value, 1);
foreach($words as $word_key => $word_value) {
$find_right = $right->findByFieldValue('value', $word_value);
if($find_right == false) {
$find_wrong = $wrong->findByFieldValue('value', $word_value);
if($find_wrong == true) {
$pair_right = $right->findById($find_wrong[0]['right_id']);
$words[$word_key] = $pair_right['value'];
}
else {
$pattern_right = $right->findByPattern('value', $word_value, 5, array('occur' => 'DESC'));
if($pattern_right == true) {
foreach($pattern_right as $pattern_key => $pattern) {
similar_text($word_value, $pattern['value'], $similar);
if($similar >= 70 && $word_value !== $pattern['value']) {
$wrong->setValue('right_id', $pattern['id']);
$wrong->setValue('value', $word_value);
$wrong->store();
$words[$word_key] = $pattern['value'];
}
}
}
}
}
}
$meaning = implode(' ', $words);
if($meaning != $value) {
$link = implode('+', $words);
echo 'Did you mean: '.$meaning.'
';
}
return $entries;
}
elseif($smart == false) {
return $entries;
}
}
}
< /code>
Вот как я его выполняю: < /p>
if($_GET['search']) {
$slight = new SmalllightSearch('entries');
$entries = $slight->searchByFieldValue('title', $_GET['search']);
if($entries == true) {
foreach($entries as $entry) {
echo ''.$entry['title'].''.$entry['body'].'
';
}
}
else {
echo '
No results found for: '.$_GET['search'].'';
}
}
< /code>
Нет необходимости повторять прямо раньше, потому что параметры ограничения и порядка не установлены. < /p>
Подробнее здесь: https://stackoverflow.com/questions/221 ... urns-error
QUOTE MYSQL сбежала по -прежнему возвращает ошибку ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1740447478
Anonymous
SELECT * FROM `entries` WHERE MATCH(`title`) AGAINST('Linux\'s')[b]< /code>
У вас есть ошибка в вашем синтаксисе SQL; Проверьте руководство, которое соответствует вашей версии MySQL Server для правильного синтаксиса для использования рядом с 'S' 'в строке 1 < /p>
У меня нет непреднамеренной идеи, почему эта ошибка сохраняется, когда цитата сбежалась. < /p>
ps: верхний запрос работает в phpmyadmin < /strong>. < /p>
class SmalllightSearch extends Smalllight {
//----- SEARCH BY FIELD VALUE -----\\
public function searchByFieldValue($field, $value, $smart = true, $limit = NULL, array $orderby = NULL) {
$value = mysql_real_escape_string($value);
$entries = array();
$q = "SELECT * FROM `".$this->table."` WHERE MATCH (`$field`) AGAINST ('$value')";
echo $q;
if($orderby != NULL) {
$list = array();
foreach($orderby as $k => $v) { array_push($list, '`'.$k.'` '.$v); }
$order = implode(', ', $list);
$q .= ' ORDER BY '.$order;
}
if($limit != NULL) { $q .= ' LIMIT '.$limit; }
$r = mysql_query($q) or die(mysql_error());
while($row = mysql_fetch_assoc($r)) {
array_push($entries, $row);
}
if($smart == true) {
$right = new Smalllight('right');
$wrong = new Smalllight('wrong');
$words = str_word_count($value, 1);
foreach($words as $word_key => $word_value) {
$find_right = $right->findByFieldValue('value', $word_value);
if($find_right == false) {
$find_wrong = $wrong->findByFieldValue('value', $word_value);
if($find_wrong == true) {
$pair_right = $right->findById($find_wrong[0]['right_id']);
$words[$word_key] = $pair_right['value'];
}
else {
$pattern_right = $right->findByPattern('value', $word_value, 5, array('occur' => 'DESC'));
if($pattern_right == true) {
foreach($pattern_right as $pattern_key => $pattern) {
similar_text($word_value, $pattern['value'], $similar);
if($similar >= 70 && $word_value !== $pattern['value']) {
$wrong->setValue('right_id', $pattern['id']);
$wrong->setValue('value', $word_value);
$wrong->store();
$words[$word_key] = $pattern['value'];
}
}
}
}
}
}
$meaning = implode(' ', $words);
if($meaning != $value) {
$link = implode('+', $words);
echo 'Did you mean: [url=index.php?search=]'.$meaning.'[/url]
';
}
return $entries;
}
elseif($smart == false) {
return $entries;
}
}
}
< /code>
Вот как я его выполняю: < /p>
if($_GET['search']) {
$slight = new SmalllightSearch('entries');
$entries = $slight->searchByFieldValue('title', $_GET['search']);
if($entries == true) {
foreach($entries as $entry) {
echo ''.$entry['title'].'[/b][b]'.$entry['body'].'
';
}
}
else {
echo '
No results found for: '.$_GET['search'].'[/b]';
}
}
< /code>
Нет необходимости повторять прямо раньше, потому что параметры ограничения и порядка не установлены. < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/22181854/mysql-quote-escaped-still-returns-error[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия