[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: НЕпонятная ошибка
gorillaz
Вообщем ситуация такая, что все происходит в цикле for
$query="SELECT * FROM `namecard` WHERE `latin` LIKE '$str[$i]'";
$result=mysql_query($query);
if($result)
{
.....
}
else{
......
}

вообщем всегда выполняется if($result), т.к. $result выдает Resource id #3!
Что это такое?!



Спустя 2 часа, 35 минут, 57 секунд (18.05.2010 - 01:15) Gram написал(а):
$query="SELECT * FROM `namecard` WHERE `latin` LIKE '".$str[$i]."'";

Спустя 1 минута, 15 секунд (18.05.2010 - 01:16) Gram написал(а):
и хорошо бы еще проверки делать
$result=mysql_query($query) or die('Не а)))'.mysql_error());

Спустя 2 часа, 18 минут, 49 секунд (18.05.2010 - 03:35) twin написал(а):
Resource id #3 это указатель на так называемый ресурс - результат выполненного запроса, который записан в памяти php. Получить его (результат) можно различными функциями. Допустим mysql_fetch_assoc(), mysql_fetch_rows(), mysql_result() и т.д, передав этот указатель в качестве аргумента.


Спустя 6 часов, 47 минут, 1 секунда (18.05.2010 - 10:22) gorillaz написал(а):
Gram! Это не помогает. По идеи ведь
$result=mysql_query($query);
должно быть либо true, либо false!?
Мне кажется это может быть из-за цикла?
Twin! mysql_fetch_assoc(), mysql_fetch_rows(), mysql_result() - эти функции ведь выводят сам аругмент?! А мне надо просто, если нашел это то .... , если нет другое ....
Можно конечно все аргументы вывести, потом сравнить...

Спустя 4 минуты, 58 секунд (18.05.2010 - 10:27) DedMorozzz написал(а):
Чёт кажеться тут так:
if(mysql_num_rows($result)>0){
//...
}
else{...}

Спустя 34 минуты, 7 секунд (18.05.2010 - 11:01) gorillaz написал(а):
Спасибо большое! Сам почему-то недопер...

Спустя 23 секунды (18.05.2010 - 11:02) twin написал(а):
Цитата
А мне надо просто, если нашел это то .... , если нет другое ....

Читай внимательно, что я написал. Никаких true mysql_query() не возвращает.
А если нужно просто узнать, есть или нет, то так:
$query = "SELECT COUNT(*) AS `cnt` FROM `namecard` WHERE `latin` LIKE '".$str[$i]."'";
$result = mysql_query($query);
if(mysql_result($result, 0)>0){
//...
}
else{...}

Спустя 3 минуты, 16 секунд (18.05.2010 - 11:05) DedMorozzz написал(а):
twin, что шустрее будет: mysql_result($result, 0) иль mysql_num_rows($result)?

Спустя 17 минут, 25 секунд (18.05.2010 - 11:22) twin написал(а):
Дело не в шустрости. Дело в том, что по твоей схеме из-за одной циферки ты тащишь в php всю таблицу. А если она гектар весит?

Спустя 4 минуты, 7 секунд (18.05.2010 - 11:26) DedMorozzz написал(а):
mysql_num_rows() возвращает количество рядов результата запроса, причём тут вся таблица и её размер в гектар? huh.gif
Быстрый ответ:

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