Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Где ошибка? / 2 сообщений из 2, страница 1 из 1
23.05.2014, 10:55:44
    #38649878
straikmen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где ошибка?
Знания в пхп минимальные растолкуйте пожалуйста.
Есть таблица в mysql на хостинге имя etcitem http://i031.radikal.ru/1405/55/ecf081d82cad.jpg
поисковик не находит инфу
У него такой код

<html>
<head>
<title>base</title>

</head>
<body>
<form name="search" method="post" action="search.php">
<input type="search" name="query" placeholder="Поиск">
<button type="submit">Найти</button>
</form>



<?php
define('DB_HOST', '*****');
define('DB_USER', '******');
define('DB_PASS', '******');
define('DB_NAME', '******');

if (!mysql_connect(DB_HOST, DB_USER, DB_PASS)) {
exit('Cannot connect to server');
}
if (!mysql_select_db(DB_NAME)) {
exit('Cannot select database');
}

mysql_query('SET NAMES utf8');

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 `item_id`, `title`, `desc`, `title_link`, `category`, `uniq_id`
FROM `itcitem` WHERE `text` LIKE '%$query%'
OR `title` LIKE '%$query%' OR `meta_k` LIKE '%$query%'
OR `meta_d` 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 `link` FROM `etcitem` WHERE `item_id` = '$row[page_id]'";
$result1 = mysql_query($q1);

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

$text .= '<p><a> href="'.$row1['link'].'/'.$row['category'].'/'.$row['uniq_id'].'" title="'.$row['title_link'].'">'.$row['title'].'</a></p>
<p>'.$row['desc'].'</p>';

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

return $text;
}
?>
<?php
if (!empty($_POST['query'])) {
$search_result = search ($_POST['query']);
echo $search_result;
}
?>

</body>
</html>
...
Рейтинг: 0 / 0
23.05.2014, 11:26:53
    #38649945
Mr.Fontaine
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где ошибка?
Точно результат фунции mysql_affected_rows() должен быть больше ноля после выборки?
Вот что про него пишут:
авторint mysql_affected_rows ([ resource $link_identifier = NULL ] )

Возвращает количество рядов, затронутых последним INSERT, UPDATE, REPLACE или DELETE запросом, связанным с дескриптором link_identifier.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Где ошибка? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]