Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: посмотрите пожалуйста, у меня правильный синтаксис запроса?
 
 автор: coloboc66   (17.02.2005 в 16:09)   письмо автору
 
 

$rez="select COUNT(*) from books where .$searchtype. like '%'.$searchterm.'%'";
Выдает ошибку, а я не могу понять где.

   
 
 автор: Sin   (17.02.2005 в 16:18)   письмо автору
 
   для: coloboc66   (17.02.2005 в 16:09)
 

А попробуйте так
<?php

$rez
="select COUNT(*) from books where '$searchtype' like '%''$searchterm''%'";

?>

   
 
 автор: coloboc66   (17.02.2005 в 16:37)   письмо автору
 
   для: Sin   (17.02.2005 в 16:18)
 

Не помогает. Да-главное забыл. Этот запрос я обрабатываю следующим образом:
$cnt_obj=mysql_result($rez,0); - в этой строке выдается ошибка "неправильный аргумент функции".

   
 
 автор: Axxil   (17.02.2005 в 17:11)   письмо автору
 
   для: coloboc66   (17.02.2005 в 16:37)
 

А если так попробовать?

<?
$rez
="select COUNT(*) from books where ".$searchtype." like '%".$searchterm."%'";
$query=mysql_query($rez);
$cnt_obj=mysql_result($query);
?>

   
 
 автор: coloboc66   (17.02.2005 в 17:24)   письмо автору
 
   для: Axxil   (17.02.2005 в 17:11)
 

Не, не помогает. Та же ошибка.

   
 
 автор: cheops   (17.02.2005 в 19:06)   письмо автору
 
   для: coloboc66   (17.02.2005 в 17:24)
 

Попробуйте поправить вариант предложенный Axxil следующим образом
<? 
$rez
="select COUNT(*) from books where ".$searchtype." like '%".$searchterm."%'"
$query=mysql_query($rez,0); 
$cnt_obj=mysql_result($query); 
?>

   
 
 автор: glsv (Дизайнер)   (17.02.2005 в 23:00)   письмо автору
 
   для: cheops   (17.02.2005 в 19:06)
 

Только наоборот mysql_query и mysql_result

<? 
$rez
="select COUNT(*) from books where ".$searchtype." like '%".$searchterm."%'"
$query=mysql_query($rez); 
$cnt_obj=mysql_result($query,0); 
?>

   
 
 автор: cheops   (17.02.2005 в 23:12)   письмо автору
 
   для: glsv (Дизайнер)   (17.02.2005 в 23:00)
 

Все по ошибке совершили :)))

   
 
 автор: glsv (Дизайнер)   (17.02.2005 в 17:35)   письмо автору
 
   для: coloboc66   (17.02.2005 в 16:09)
 

Не ясен сам запрос. У вас же там переменные. Неизвестно какое значение они содержит. Попробуйте вывести запрос на экран.

<?
  
echo $res
?>

   
 
 автор: coloboc66   (17.02.2005 в 17:46)   письмо автору
 
   для: glsv (Дизайнер)   (17.02.2005 в 17:35)
 

Вот результат команды echo $rez; :
select COUNT(*) from books where description like '%PHP%'

   
 
 автор: Axxil   (17.02.2005 в 17:52)   письмо автору
 
   для: coloboc66   (17.02.2005 в 17:46)
 

Вот так попробовать можно

<? 
$rez
="select COUNT(*) as count from books where ".$searchtype." like '%".$searchterm."%'"
$query=mysql_query($rez); 
$r=mysql_fetch_assoc($query); 
$cnt_obj=$r['count'];
?> 

   
 
 автор: coloboc66   (18.02.2005 в 10:18)   письмо автору
 
   для: Axxil   (17.02.2005 в 17:52)
 

Так выдает ошибку"Неправильный аргумент функции mysql_fetch_assoc()". Я делаю скрипт поиска по сайту и здесь мне только нужно подсчитать число записей, соответствующих запросу, по критериям searchtype и searchterm.

   
 
 автор: cheops   (18.02.2005 в 11:56)   письмо автору
 
   для: coloboc66   (18.02.2005 в 10:18)
 

Следует проверить, нет ли ошибки в синтаксисе запроса
<? 
$rez
="select COUNT(*) as count from books where ".$searchtype." like '%".$searchterm."%'"
$query=mysql_query($rez); 
if(!
$query) exit(mysql_error());
?>

Что выступает в качестве $searchtype и $searchterm?

   
 
 автор: coloboc66   (18.02.2005 в 12:23)   письмо автору
 
   для: cheops   (18.02.2005 в 11:56)
 

<form action="search.php" method="get">
Выберите тип поиска:<br/>
<select name="searchtype">
<option value="author">По автору</option>
<option value="title">По названию</option>
<option value="isbn">По ISBN</option>
<option value="description">По ключевому слову</option>
</select>
<br/>
Введите информацию для поиска<br/>
<input name="searchterm" type="text">
<input type="submit" value="Найти">
<br/>
</form>

   
 
 автор: cheops   (18.02.2005 в 12:35)   письмо автору
 
   для: coloboc66   (18.02.2005 в 12:23)
 

Всё чисто, а добавление строки
<?php
f
(!$query) exit(mysql_error());
?>

к чему приводит?

   
 
 автор: coloboc66   (18.02.2005 в 14:08)   письмо автору
 
   для: cheops   (18.02.2005 в 12:35)
 

Да, спасибо, код Axxil-a работает правильно. У меня было потеряно подключение к БД.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования