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

Форум MySQL

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

 

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

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

тема: Что означает "Resource id #5 "
 
 автор: Mack   (26.12.2007 в 18:31)   письмо автору
 
 

Подскажите пожалуйста, что означает этот ответ "Resource id #5". Когда данные в таблице не соответсвуют искомым, выдается такая строка. Бывали случаи когда возвращалось "Resource id #3".

   
 
 автор: ddhvvn   (26.12.2007 в 18:44)   письмо автору
 
   для: Mack   (26.12.2007 в 18:31)
 

Вы возвращаете идентификатор запроса, а не его результат!

   
 
 автор: Mack   (26.12.2007 в 19:01)   письмо автору
 
   для: ddhvvn   (26.12.2007 в 18:44)
 

А можно по подробнее пожалуйста, что он означает. И как он расшифровывается.

   
 
 автор: Faraon   (26.12.2007 в 22:18)   письмо автору
 
   для: Mack   (26.12.2007 в 19:01)
 

Пример запроса и вывода данных приведите, от этого и будем отталкиваться

   
 
 автор: Mack   (26.12.2007 в 23:39)   письмо автору
 
   для: Faraon   (26.12.2007 в 22:18)
 

Код ищет инфу в БД, если инфа найдена, то все работает нормально, дальше в коде идет вывод инфы, но еще хочу сделать если инфа не найдена, чтоб об этом выводилось сообщение. И я хочу посмотреть что выдает $query чтоб от этого отталкиваться и ставлю после нее echo. Вот тут он и выдает ответ Resource id #5.

.......
$query = mysql_query ("select * from .......  where match (.....) against ('$.......')");
 echo "$query";
.......

   
 
 автор: Faraon   (26.12.2007 в 23:53)   письмо автору
 
   для: Mack   (26.12.2007 в 23:39)
 

Так $query вам выдает дескриптор
И это будет считаться правильным, так как запрос был успешно выполнен.
Используйте функцию mysql_num_rows()

<?php
.......
$query mysql_query ("select * from .......  where match (.....) against ('$.......')");
if(
mysql_num_rows($query)>0){
Ваш вывод если все ок
.......
}else{
print 
" ничего не найдено";
}

?>

   
 
 автор: Mack   (27.12.2007 в 01:10)   письмо автору
 
   для: Faraon   (26.12.2007 в 23:53)
 

Блин, всеровно не получается. Все работает нормально, но когда не находит на экран не че не выводится, как будто else { } нет. Такое впечатление что $query что то все таки выдает, поэтому и не срабатывает else { }. Вот что интересно, вот здесь я и хотел применить echo, что бы посмотреть, а он мне выдавал resourse id #5.

   
 
 автор: Trianon   (27.12.2007 в 01:26)   письмо автору
 
   для: Mack   (27.12.2007 в 01:10)
 

Что Вы хотите увидеть, написав echo $query; ?

   
 
 автор: Mack   (27.12.2007 в 12:23)   письмо автору
 
   для: Trianon   (27.12.2007 в 01:26)
 

Я хочу увидеть что возвращает $query, для того что бы написать код когда не найдено искомая информация

   
 
 автор: cheops   (27.12.2007 в 13:44)   письмо автору
 
   для: Mack   (27.12.2007 в 12:23)
 

$query в вашем коде - это дескриптор - служебная переменная для идентификации результирующей таблицы - эта переменная может принимать значение false или номер ресурса. С ней работают обычно следующим образом
<?php
  $query 
mysql_query(...);
  if(!
$query) exit("Ошибка - ".mysql_error());
  ...
?>

   
 
 автор: Mack   (27.12.2007 в 15:30)   письмо автору
 
   для: cheops   (27.12.2007 в 13:44)
 

Не знаю мужики что то всеровно не получается. Буду что то пробывать другое. Все равно пустое окно, не выводит ни каких сообщений, просто пустой экран и все.

   
 
 автор: ronin   (27.12.2007 в 16:56)   письмо автору
 
   для: Mack   (27.12.2007 в 15:30)
 

$query пропускаете через цикл.

while($postrow = mysql_fetch_array($query ) )
     {  
echo $postrow ["имя поля в БД"];
}

   
 
 автор: Thrasher   (27.12.2007 в 17:08)   письмо автору
 
   для: Mack   (27.12.2007 в 15:30)
 

Тебе же Faraon уже написал код:

<?php 
....... 
$query mysql_query ("select * from .......  where match (.....) against ('$.......')"); 
if(
mysql_num_rows($query)>0){ 
Ваш вывод если все ок 
....... 
}else{ 
print 
" ничего не найдено"


?>

Используй его.
А код cheops`a выдаст сообщение, если есть ошибка. Но у тебя ошибки не происходит. Если в базе ничего не найдено - это не ошибка, это пустой результат.
Вот у тебя ничего и не отображается, тк. выводится пустой результат.

   
 
 автор: Mack   (27.12.2007 в 18:16)   письмо автору
 
   для: Thrasher   (27.12.2007 в 17:08)
 

Все получилось, СПАСИБО ВСЕМ. Так как Faraon написал получилось, наверно я допустил синтаксическую ошибку первый раз. Потом попробывал снова все сработало, извеняюсь. СПАСИБО

   
Rambler's Top100
вверх

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