Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Узнать о существовании таблицы
 
 автор: Владимир55   (02.02.2009 в 16:57)   письмо автору
 
 

Можно ли каким-либо образом узнать о существовании таблицы?

  Ответить  
 
 автор: ols   (02.02.2009 в 17:33)   письмо автору
 
   для: Владимир55   (02.02.2009 в 16:57)
 

Ну можно сделать запрос вида

<?php
$sql 
=  mysql_query("SELECT * FROM tbl");
if(!
$sql) echo mysql_error();
?>


Если ее не существует, MySQL сервер вернет соответсвующую ошибку
А для каких целей Вы хотите узнать? Если Вы хотите просто экспортировать дамп с таблицей, то
CREATE TABLE IF NOT EXISTS `tbl` ....

  Ответить  
 
 автор: Trianon   (02.02.2009 в 17:54)   письмо автору
 
   для: Владимир55   (02.02.2009 в 16:57)
 

кому узнать?
у администратора средств достаточно.
Логика приложения опирается на уже подготовленную схему БД, зная какие в ней таблицы и зачем.
Если это, конечно, не инсталлятор или что-либо подобное. Тогда да.
Обычное приложение таблицами, как данными оперировать не должно.

  Ответить  
 
 автор: Владимир55   (02.02.2009 в 18:02)   письмо автору
 
   для: Trianon   (02.02.2009 в 17:54)
 

Понятно.

  Ответить  
 
 автор: cheops   (03.02.2009 в 02:30)   письмо автору
 
   для: Владимир55   (02.02.2009 в 16:57)
 

Можно выполнить запрос вида
SHOW TABLES LIKE 'имя_таблицы'

  Ответить  
 
 автор: Владимир55   (03.02.2009 в 15:13)   письмо автору
 
   для: cheops   (03.02.2009 в 02:30)
 

Я делаю это так:
        $query = "SHOW TABLES LIKE bot";
        mysql_query($query);
        echo mysql_errno()." 38 : ".mysql_error()."<BR>";

И получаю сообщение:
1064 38 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bot' at line 1

Что неверно?

  Ответить  
 
 автор: BinLaden   (03.02.2009 в 16:22)   письмо автору
 
   для: Владимир55   (03.02.2009 в 15:13)
 

Там должна быть строка. Строка обрамляется либо в кавычки, либо в апострофы.
<?php
$query 
"SHOW TABLES LIKE 'bot';";
?>

  Ответить  
 
 автор: Владимир55   (03.02.2009 в 16:35)   письмо автору
 
   для: BinLaden   (03.02.2009 в 16:22)
 

Вот в таком виде
$query = "SHOW TABLES LIKE 'bot'";
комадна прошла.

Но что толку? Она и при наличии таблицы проходит, и при её отсутствии проходит... Как выловить результат проверки? Как по итогам исполнения запроса узнать, есть ли таблица?

  Ответить  
 
 автор: Trianon   (03.02.2009 в 16:42)   письмо автору
 
   для: Владимир55   (03.02.2009 в 16:35)
 

получить результат, как от произвольного SELECT-запроса.
while($row = mysql_fetch_assoc($res)) ...

Впрочем, я остаюсь в уверенности, что это Вам не нужно.

  Ответить  
 
 автор: Владимир55   (03.02.2009 в 16:47)   письмо автору
 
   для: Trianon   (03.02.2009 в 16:42)
 

"я остаюсь в уверенности, что это Вам не нужно."

Я просто пытаюсь хоть что-то понять...

  Ответить  
 
 автор: Trianon   (03.02.2009 в 16:49)   письмо автору
 
   для: Владимир55   (03.02.2009 в 16:47)
 

$query = "SHOW TABLES LIKE bot";
$res = mysql_query($query); 
if(!$res) exit("Mysql error in $query :  " . mysql_error());
while($row = mysql_fetch_assoc($res))
  print_r($row);

  Ответить  
 
 автор: Владимир55   (03.02.2009 в 18:01)   письмо автору
 
   для: Trianon   (03.02.2009 в 16:49)
 

Дело проясняется...

Спасибо!

  Ответить  
 
 автор: qweewqqwe   (26.07.2014 в 21:45)
 
   для: Владимир55   (03.02.2009 в 18:01)
 

$res=mysql_query("SHOW TABLES LIKE 'bot'");rnif(mysql_num_rows>0)rn{rn // таблица естьrn}rnelsern{rn // таблицы нетrn}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования