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

Форум MySQL

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

 

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

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

тема: Вместо результата, выдаётся Resource id #7
 
 автор: maria_gv   (05.01.2008 в 10:49)   письмо автору
 
 

Привет всем! у меня вот что твориться. Я написала сайт с базой данных mysql. сделала поиск человека по имени но вот что тсранного происходит. вот код.

$result = mysql_query ("SELECT * FROM info WHERE name='$name' AND surname='$surname' AND father_name = '$father_name'",$db);
$myrow = mysql_fetch_array ($result);

echo $result;

echo $result; - я поставила чтобы посмотреть что происходит что именно возвращает функция, я ожидала что она возвратит как ей и положено либо true либо false и на основании этого я бы уже добавила условия с помощью которых я с могла бы узнать есть ли человек запрашиваемый посетителем сайта в моей базе данных или нет, но функция возвращает мне совсем другое а именно: Resource id #7

что это такое ума не приложу помогите кто нибудь что мне делать?

   
 
 автор: kasmanaft   (05.01.2008 в 11:10)   письмо автору
 
   для: maria_gv   (05.01.2008 в 10:49)
 

resource mysql_query ( string $query [, resource $link_identifier ] )

Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно.
http://php.net/mysql_query


Спите спокойно :)

   
 
 автор: Zmej   (05.01.2008 в 12:29)   письмо автору
 
   для: maria_gv   (05.01.2008 в 10:49)
 

Все верно РНР и выдает.
Эхать для отображения данных надо не $result, а $myrow, потому что действительно ф-ция mysql_query() выдает только идентификатор ресурса!

Удачи!

   
 
 автор: Trianon   (05.01.2008 в 13:30)   письмо автору
 
   для: maria_gv   (05.01.2008 в 10:49)
 

$result можно оценивать на true/false. Но при этом Вы получите ответ на другой вопрос - был выполнен Ваш запрос сервером (true) или отвергнут (false) из-за ошибки (доступа, синтаксической и т.п.).
если SELECT -запрос выполнен, то можно вызвать функцию mysql_num_rows() - она сообщит, сколько строк вернул запрос. Если ноль - значит таких людей не нашлось.
Кроме того можно в цикле вызывать mysql_fetch_assoc() чтобы получить сами строки результата. Первый же нулевой ответ будет означать, что строки результата отсутствуют.

   
 
 автор: cheops   (05.01.2008 в 14:48)   письмо автору
 
   для: maria_gv   (05.01.2008 в 10:49)
 

$result - это дескриптор, по которому можно получить доступ к результирующей таблице, ваш скрипт лучше переработать следующим образом
<?php
  $query 
"SELECT * FROM info 
                   WHERE name='
$name' AND 
                                   surname='
$surname' AND 
                                   father_name = '
$father_name'";
  
$result mysql_query ($query,$db);
  if(!
$result) exit(mysql_error());
  while(
$myrow mysql_fetch_array ($result))
  {
     echo 
$myrow['name']."<br>";
  }

   
 
 автор: maria_gv   (06.01.2008 в 09:54)   письмо автору
 
   для: cheops   (05.01.2008 в 14:48)
 

огромное всем спасибо за столь скорую помощь!!!!

   
Rambler's Top100
вверх

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