Table 'adminch_test.lm_list' doesn't exist но скрипт должен вызывать таблицу lm_list не из базы adminch_test. а из другой.
Пример выборки из первой базы:
$result = $main->db->fetch($main->db->query('SELECT * FROM `lm_list` where id=\''.$n.'\''));
я не знаю как и где происходит соединение.
А вторая так:
include("config.php");
mysql_connect($server,$user,$password) OR DIE("Не могу создать соединение ");
mysql_select_db("ft",$name) or die(mysql_error());
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query("UPDATE `pg_serverlist` SET `server_globalid` = '0' ,
`server_addr` = '0',
`server_stoptime` = '0' WHERE `server_id` = '" . $i['server_id'] . "'");
Помогите. пожалуйста, моему скрипту соорентироваться..
Спустя 14 минут, 18 секунд (28.02.2012 - 10:52) Placido написал(а):
Конечно странно, как можно не знать как и где происходит соединение, но, тем не менее, всегда можно указать имя бд в самом запросе через точку перед именем таблицы, независимо от того, какая база выбрана при соединении.
query('SELECT * FROM `имя другой базы`.`lm_list` where id=\''.$n.'\''));
Спустя 1 минута, 38 секунд (28.02.2012 - 10:53) kss написал(а):
$db = new mysql;
$db->connect();
$sql_encoding = 'cp1251';
$sql_suffix = '_general_ci';
$db->query("SET `collation_connection` = '{$sql_encoding}{$sql_suffix}'");
$db->query("SET `collation_database` = '{$sql_encoding}{$sql_suffix}'");
$db->query("SET `collation_server` = '{$sql_encoding}{$sql_suffix}'");
$db->query("SET NAMES '{$sql_encoding}'");
$db->query("SET `character_set_client` = '{$sql_encoding}'");
$db->query("SET `character_set_connection` = '{$sql_encoding}'");
$db->query("SET `character_set_database` = '{$sql_encoding}'");
$db->query("SET `character_set_results` = '{$sql_encoding}'");
$db->query("SET `character_set_server` = '{$sql_encoding}'");
Нашел как к первой происходит подключение
Спустя 5 минут, 24 секунды (28.02.2012 - 10:59) kss написал(а):
Цитата (Placido @ 28.02.2012 - 07:52) |
Конечно странно, как можно не знать как и где происходит соединение, но, тем не менее, всегда можно указать имя бд в самом запросе через точку перед именем таблицы, независимо от того, какая база выбрана при соединении.query('SELECT * FROM `имя другой базы`.`lm_list` where id=\''.$n.'\'')); |
Твой совет не помог
Спустя 32 минуты, 43 секунды (28.02.2012 - 11:31) Visman написал(а):
Где создается $main?
Почему бы не создать по его типу второе подключение к другой базе?
$result = $main->db->fetch($main->db->query('SELECT * FROM `lm_list` where id=\''.$n.'\''));
Почему бы не создать по его типу второе подключение к другой базе?
Спустя 23 минуты, 4 секунды (28.02.2012 - 11:54) Placido написал(а):
Цитата (kss @ 28.02.2012 - 09:59) |
Твой совет не помог |
У меня все работает.
Это PDO, по-видимому?
А так?
$result = $main->db->query('SELECT * FROM `имя другой базы`.`lm_list` where id=\''.$n.'\'')->fetch();
Спустя 2 часа, 46 минут, 1 секунда (28.02.2012 - 14:40) twin написал(а):
Вы путаете таблицы с базами данных. Для каждой базы нужен свой коннект. И указатель на соединение, который вернет функция mysql_connect() нужно вторым параметром подставить в mysql_query() По умолчанию используется последнее открытое соединение.
Спустя 1 час, 41 минута, 56 секунд (28.02.2012 - 16:22) Placido написал(а):
Цитата (twin @ 28.02.2012 - 13:40) |
Вы путаете таблицы с базами данных. Для каждой базы нужен свой коннект. И указатель на соединение, который вернет функция mysql_connect() нужно вторым параметром подставить в mysql_query() По умолчанию используется последнее открытое соединение. |
Не путаю. Я, правда, не пробовал такой финт на хостинге, но локалхосте это спокойно работает.
И из консоли, и с использованием mysql_query(), и с PDO
Свернутый текст
mysql> use football
Database changed
mysql> show tables;
+--------------------+
| Tables_in_football |
+--------------------+
| cities |
| coaches |
| coaches_teams |
| countries |
| countries6 |
| matches |
| menu |
| players |
| players_teams |
| referees |
| results |
| seasons |
| stadiums |
| stages |
| teams |
| tournaments |
+--------------------+
16 rows in set (0.32 sec)
mysql> use hlighter
Database changed
mysql> show tables;
+--------------------+
| Tables_in_hlighter |
+--------------------+
| msgs |
+--------------------+
1 row in set (0.04 sec)
mysql> select id from msgs;
+----+
| id |
+----+
| 1 |
| 6 |
| 7 |
| 8 |
+----+
4 rows in set (0.00 sec)
mysql> select id from football.matches limit 4;
+-----+
| id |
+-----+
| 515 |
| 556 |
| 595 |
| 526 |
+-----+
4 rows in set (0.00 sec)
mysql>