Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с N БД, MySQL 
V
    Опции темы
MoLeX
Дата 11.12.2009, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Данный скрипт:
Код

// Соединения с СУБД  
   $bd['city']       = mysql_connect('127.0.0.1', 'root', '111') or die('Сервер MySQL недоступен.');
   $bd['house']      = mysql_connect('127.0.0.1', 'root', '111') or die('Сервер MySQL недоступен.');
   $bd['recourse']   = mysql_connect('127.0.0.1', 'root', '111') or die('Сервер MySQL недоступен.');
   
   
// Выбор таблиц
   mysql_select_db('table1',      $bd['city']) or die('Таблица #1 не найдена.');
   mysql_select_db('table2',     $bd['house']) or die('Таблица #2 не найдена.');
   mysql_select_db('table3',  $bd['recourse']) or die('Таблица #3 не найдена.');

   echo mysql_num_rows(mysql_query("SELECT * FROM `fam` WHERE `fam` = 'Петров' ", $bd['city']));



Возвращает:
Цитата

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in


хотя соединения со всеми таблицами установлено.


var_dump($bd); показывает:
Цитата

array(3) {
  ["city"]=>
  resource(3) of type (mysql link)
  ["house"]=>
  resource(3) of type (mysql link)
  ["recourse"]=>
  resource(3) of type (mysql link)
}



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 11.12.2009, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Может быть, нету поля fam в таблице fam...

Добавлено через 3 минуты и 27 секунд
это был намек на использование mysql_error()
поскольку сама по себе ошибка аргумента не говорит об ошибке ничего. 

Если же говорить о вопросе в целом, то рекомендую комментарии из документации.
PM MAIL   Вверх
bars80080
Дата 11.12.2009, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



зачем пихать всё в одну строку? неужели так лучше?

почему бы не писать всегда:

$sql = 'запрос';
$r = mysql_*;

и если не выходит, то просто после каждого mysql_* ставим: echo $sql; var_dump($r); и сразу всё видно
PM MAIL WWW   Вверх
MoLeX
Дата 11.12.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Цитата(Ипатьев @  11.12.2009,  15:12 Найти цитируемый пост)
Может быть, нету поля fam в таблице fam...

есть оно.


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
skyboy
Дата 11.12.2009, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



так что насчет mysql_error? мы ж не кроссворд разгадываем, правда? чем больше отладочной информации - тем лучше.
PM MAIL   Вверх
MoLeX
Дата 11.12.2009, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



skyboy, пусто. нечего нету. только вот эта строка:
Цитата

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
skyboy
Дата 11.12.2009, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



т.е. конструкция:
Код

$result = mysql_query("SELECT * FROM `fam` WHERE `fam` = 'Петров' ", $bd['city']) or die(mysql_error());
echo mysql_num_rows($result);

выдает только warning? я тебя правильно понял?
PM MAIL   Вверх
Pitlord
Дата 11.12.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 31.10.2009

Репутация: нет
Всего: 7



Цитата(MoLeX @  11.12.2009,  14:55 Найти цитируемый пост)
// Выбор таблиц

Это выбор БД, а не таблиц.

Цитата(MoLeX @  11.12.2009,  17:03 Найти цитируемый пост)
skyboy, пусто. нечего нету

Скорее всего mysql_error() вызываешь для не того идентификатора соединения (по умолчанию — последний открытый). Укажи конкретный link identifier.

Это сообщение отредактировал(а) Pitlord - 11.12.2009, 18:04
PM MAIL   Вверх
MoLeX
Дата 12.12.2009, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Код

mysql_query("SELECT * FROM `table1`.`fam` WHERE `fam` = 'Петров' ", $bd['city'])


как видно причина была проста)))


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 12.12.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Это один из вариантов. 
Но указанный выше работать будет тоже. Тем более, если надо работать с несколькими серверами - тогда это будет единственный вариант.

Правда, названия наводят на размышления. Почему-то база данных называется, как таблица, а таблица - как колонка.
Возможно, что-то неправильно спроектировано. 

Это сообщение отредактировал(а) Ипатьев - 12.12.2009, 11:22
PM MAIL   Вверх
MoLeX
Дата 12.12.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



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


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.