Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание поиска по базе данных на сайте с помощью PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Нужна подсказка в чем ошибка
2015
Отправлено: 04 Мая, 2015 - 14:06:11
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




Не получается создать поиск, есть база данных наполненная информацией, код не работает выдает ошибку: "Parse error: syntax error, unexpected '.', expecting ']' in /home/u264928210/public_html/doc s/search.php on line 44" хотя синтаксически я уже на насколько раз проверила что делать. Пожалуйста подскажите!!!

КОД ПОИСКА

function search ($query)
{
$query = trim($query);
$query = mysql_real_escape_string($query);
$query = htmlspecialchars($query);

if (!empty($query))
{
if (strlen($query) < 3) {
$text = '<p>Слишком короткий поисковый запрос.</p>';
} else if (strlen($query) > 128) {
$text = '<p>Слишком длинный поисковый запрос.</p>';
} else {
$q = "SELECT natural_monument.name, region.name, camp.name
FROM natural_monument,region,camp WHERE natural_monument.name LIKE '%$query%'
OR region.name LIKE '%$query%' OR camp.name LIKE '%$query%'";

$result = mysql_query($q);

if (mysql_affected_rows() > 0) {
$row = mysql_fetch_assoc($result);
$num = mysql_num_rows($result);

$text = '<p>По запросу <b>'.$query.'</b> найдено совпадений: '.$num.'</p>';

do {
// Делаем запрос, получающий ссылки на статьи
$q1 = "SELECT natural_monument.name, region.name, camp.name
FROM natural_monument,region,camp WHERE `natural_monument.name` = '$row[natural_monument.id]' OR `camp.name` = '$row[camp.id]'"; // ошибка в этой строке
$result1 = mysql_query($q1);

if (mysql_affected_rows() > 0) {
$row1 = mysql_fetch_assoc($result1);
}

$text .= '<p><a> href="'.$row1['natural_monument.name'].'/'.$row['region.name'].'/'.$row['camp.name'].'/'.$row['natural_monument.comment'].'" title="'.$row['natural_monument.name'].'">'.$row['natural_monument.id'].'</a></p>
<p>'.$row['natural_monument.name'].'</p>';

} while ($row = mysql_fetch_assoc($result));
} else {
$text = '<p>По вашему запросу ничего не найдено.</p>';
}
}
}
else {
$text = '<p>Задан пустой поисковый запрос.</p>';
}
}

return $text;
 
 Top
exlant
Отправлено: 04 Мая, 2015 - 14:21:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




плохо проверили:
PHP:
скопировать код в буфер обмена
  1. $q1 = "SELECT natural_monument.name, region.name, camp.name
  2. FROM natural_monument,region,camp WHERE `natural_monument.name` = '".$row['natural_monument.id']."' OR `camp.name` = '".$row['camp.id'];

а вообще кто вас научил точки ставить в индексах массива?
используйте лучше нижнее подчеркивание!
 
 Top
2015
Отправлено: 04 Мая, 2015 - 14:32:17
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




Спасибо, исправила на нижнее подчеркивание ошибка пропала. Только результаты поиска так и не выдаются, пустая HTML-страница результатов.
 
 Top
LIME
Отправлено: 04 Мая, 2015 - 20:02:14
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ошибок тьма
mysql_affected_rows -> mysql_num_rows

$row = mysql_fetch_assoc($result) - $resul не создан, есть только $resul1

и вообще кривая каша
посмотри примеры как работать с бд в мануале
(Добавление)
ну и явно курсы Попова
рекомендую выбросить и забыть все чему он учит
(Добавление)
2015 пишет:
$query = htmlspecialchars($query);
- а это не только бесполезно но даже очень вредно
оооой
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB