QUOTE MYSQL сбежала по -прежнему возвращает ошибкуPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 QUOTE MYSQL сбежала по -прежнему возвращает ошибку

Сообщение Anonymous »

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»