[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Возникает ошибка Unknown column 's' in 'where clau
Гость_Сергей
По книге пытаюсь реализовать поиск по сайту, но появляется следующая ошибка "Unknown column 's' in 'where clause' ". Если в SQL- запросе убрать "%s", то страница открывается. Хотя в книге написано, что %s шаблон. Подскажите в чем ошибка.
Спасибо

Вод код (не весь, но думаю, этого достаточно)

mysql_select_db($database_s, $s);

$query_notes = "SELECT categories.name, notes.id, notes.added, notes.title, notes.content, notes.importance FROM categories, notes WHERE notes.catid=categories.id %s ORDER BY notes.added DESC";
$search_query_notes = "";
if ($keyword) {
$search_query_notes = sprintf("AND (notes.title LIKE '%%%s%%' OR notes.content LIKE '%%%s%%')", $keyword, $keyword);
}
$query_limit_notes = sprintf("%s LIMIT %d, %d", $query_notes, $startRow_notes, $maxRows_notes);
$notes = mysql_query($query_limit_notes, $s) or die(mysql_error());
$row_notes = mysql_fetch_assoc($notes);

if (isset($_GET['totalRows_notes'])) {
$totalRows_notes = $_GET['totalRows_notes'];
} else {
$all_notes = mysql_query($query_notes);
$totalRows_notes = mysql_num_rows($all_notes);
}
$totalPages_notes = ceil($totalRows_notes/$maxRows_notes)-1;
$queryString_notes = "";

if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_notes") == false &&
stristr($param, "totalRows_notes") == false) {
array_push($newParams, $param);
}
}

if (count($newParams) != 0) {
$queryString_notes = "&" . htmlentities(implode("&", $newParams));
}
}

$queryString_notes = sprintf("&totalRows_notes=%d%s", $totalRows_notes, $queryS[php]tring_notes);
?>




Спустя 25 минут, 59 секунд (19.01.2011 - 21:36) BlackGhost написал(а):
Нда...

Спустя 4 минуты, 58 секунд (19.01.2011 - 21:41) inpost написал(а):
Может там просто %%s%, а не %%%s%% ??

Спустя 2 часа, 34 минуты, 40 секунд (20.01.2011 - 00:15) BlackGhost написал(а):
Да вроде как нет, тем более, это не в этой строке, а в sql запросе в самом начале
$query_notes = "SELECT categories.name, notes.id, notes.added, notes.title, notes.content, notes.importance FROM categories, notes WHERE notes.catid=categories.id %s ORDER BY notes.added DESC";

Спустя 11 часов, 10 минут, 35 секунд (20.01.2011 - 11:26) linker написал(а):
Забей на sprinf() и перепиши как положено
$query = "SELECT `categories`.`name`, `notes`.`id`, `notes`.`added`, `notes`.`title`, `notes`.`content`, `notes`.`importance` "
. "FROM `categories`, `notes` "
. "WHERE `notes`.`catid`=`categories`.`id` "
. (($keyword) ? "AND (`notes`.`title` LIKE '%" . $keyword . "%' OR `notes`.`content` LIKE '%" . $keyword . "%') " : "")
.
"ORDER BY `notes`.`added` DESC ";
$query_limit = $query . " LIMIT " . $startRow_notes . ", " . $maxRows_notes;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.