|
|
|
| Привет всем! у меня вот что твориться. Я написала сайт с базой данных 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
что это такое ума не приложу помогите кто нибудь что мне делать? | |
|
|
|
|
|
|
|
для: 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
Спите спокойно :) | |
|
|
|
|
|
|
|
для: maria_gv
(05.01.2008 в 10:49)
| | Все верно РНР и выдает.
Эхать для отображения данных надо не $result, а $myrow, потому что действительно ф-ция mysql_query() выдает только идентификатор ресурса!
Удачи! | |
|
|
|
|
|
|
|
для: maria_gv
(05.01.2008 в 10:49)
| | $result можно оценивать на true/false. Но при этом Вы получите ответ на другой вопрос - был выполнен Ваш запрос сервером (true) или отвергнут (false) из-за ошибки (доступа, синтаксической и т.п.).
если SELECT -запрос выполнен, то можно вызвать функцию mysql_num_rows() - она сообщит, сколько строк вернул запрос. Если ноль - значит таких людей не нашлось.
Кроме того можно в цикле вызывать mysql_fetch_assoc() чтобы получить сами строки результата. Первый же нулевой ответ будет означать, что строки результата отсутствуют. | |
|
|
|
|
|
|
|
для: 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>";
}
|
| |
|
|
|
|
|
|
|
для: cheops
(05.01.2008 в 14:48)
| | огромное всем спасибо за столь скорую помощь!!!! | |
|
|
|