Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2009, 20:53   #1
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
Вопрос Как узнать с помощью PHP, существует ли таблица в БД MySQL?

Как узнать с помощью PHP, существует ли таблица в БД MySQL? Желательно самым простым способом
motorway вне форума Ответить с цитированием
Старый 02.07.2009, 20:58   #2
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

таблица с определенным именем или таблица вообще (в смысле, что бд не пуста)?
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 02.07.2009, 21:47   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Таблица с опр. именем, но БД может быть и пуста
motorway вне форума Ответить с цитированием
Старый 02.07.2009, 22:48   #4
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

Код:
$host="db1";
$user="root";
$password="password";
$connect=odbc_connect($host, $user, $password) or die ("извините, не могу соединиться");

$query=odbc_exec($connect,"SELECT * FROM Table_name") or die ("извините, таблицы не существует");//вот здесь и проверишь, есть таблица или нет
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 02.07.2009, 23:48   #5
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Мне нужно с помощью функций mysql_ на PHP. К тому же, таблица может быть пустой, главное определить, есть она или нет.
motorway вне форума Ответить с цитированием
Старый 03.07.2009, 00:12   #6
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

извините, невнимателен стал я что то
посмотри вот это:
Код:
$database = "book";
$table_name = "Artifacts";
mysql_select_db($database);
$sql = "SELECT * FROM $table_name"; // создаем SQL запрос
$q = mysql_query($sql,$conn) or die(); // отправляем  запрос на сервер
нашел тут
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 03.07.2009, 10:50   #7
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
Сообщение от bush007 Посмотреть сообщение
извините, невнимателен стал я что то
посмотри вот это:
Код:
$database = "book";
$table_name = "Artifacts";
mysql_select_db($database);
$sql = "SELECT * FROM $table_name"; // создаем SQL запрос
$q = mysql_query($sql,$conn) or die(); // отправляем  запрос на сервер
Я просто х.ею с некоторых людей!
А если такая таблица существует и в ней 2Гб информации?

Для того чтобы узнать сущечтвует ли таблица надо отправить такой запрос
Код:
SHOW TABLES LIKE "tablename"
ответ будет содержать название таблицы, если она существует, если нет то ответ будет пустой
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 03.07.2009, 12:54   #8
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

Сколько желчи! Не надо хамить. Знаешь решение- ответь остальным. а х..еть не надо.
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 03.07.2009, 14:35   #9
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Не надо давать настолько вредные советы! и не будет "желчи"
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 27.09.2010, 12:55   #10
gvp
Новичок
Джуниор
 
Регистрация: 27.09.2010
Сообщений: 1
По умолчанию

Здрасьте, Господа!

У меня задача ставилась таким образом:
1) Если нет базы (на самом деле, а не так, что к ней не удается подключиться), то создать ее.
2) Если нет в ней таблиц(ы) (опять же, нет и не было), то создать эту таблицу.
Действительно, чтобы случайно совсем уж ничего (вроде пары Г) не подпортить.

У меня получились две функции (для определения наличия базы и таблицы в заданной базе), которые вроде работают (естественно, если к MySQL уже подключились посредством mysql_connect). Вот они:

function MySQL_DB_Present($sdb) {
$db_list = mysql_list_dbs(); $finded = false;
while ($row = mysql_fetch_object($db_list)) {
// echo $row->Database . "\n";
if (($row->Database) === $sdb) {$finded = true; }
}
mysql_free_result($db_list);
return $finded;
}
function MySQL_TableFrom_DB_Present($sTable, $wdb) {
$Table_list = mysql_list_tables($wdb); $finded = false;
if ($Table_list) { // если база '$wdb' имеется
for ($i = 0; $i < mysql_num_rows($Table_list); $i++) {
// echo mysql_tablename($Table_list, $i) . "\n";
if ((mysql_tablename($Table_list, $i)) === $sTable) {$finded = true; }
}
}
if ($Table_list) { mysql_free_result($Table_list); }
return $finded;
}

Если "раскомментировать" эхо, можно увидеть сами темы.
М.б., кому-то это еще надо?

Последний раз редактировалось gvp; 27.09.2010 в 13:03. Причина: Чтобы не получать предупреждений
gvp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать RSS с помощью PHP, MySQl. Revival001 PHP 6 12.07.2009 19:49
PHP. Как изменить значение записи в MySQL базе данных SeRhy PHP 4 18.06.2009 12:21
Как узнать существует ли в БД нужная строка? kiber0net0 БД в Delphi 1 02.09.2008 21:31
как сделать так forms с помощью php ? sergey34 PHP 6 16.07.2008 14:38
Как узнать, существует ли в базе таблица с указанным именем? Seqular БД в Delphi 1 01.03.2007 10:19