Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не создается б.д.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
_mitya
Отправлено: 06 Мая, 2011 - 15:01:37
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Нужно при нажатии на кнопку создать базу данных и выдать окно об успешном создании.
Сделал, сообщение вылазит, а бд не создается.
в чем может быть проблема?

CODE (html):
скопировать код в буфер обмена
  1. <input class="input_pat" name="create_db" type="button" value="Создать базу" onclick="<?php
  2. $con = mysql_connect("localhost","root","");
  3. if (!$con)
  4.  {
  5.  die('Could not connect: ' . mysql_error());
  6.  }
  7. if (mysql_query("CREATE DATABASE patients",$con))
  8.  {
  9.         echo "javascript:alert('База данных пациентов создана');";
  10.          }
  11. else
  12.  {
  13.  echo "javascript:alert('Ошибка создания базы данных');";
  14.  }
  15. mysql_close($con);
  16. ?> "/>
 
 Top
EuGen Администратор
Отправлено: 06 Мая, 2011 - 15:16:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Что же показывает mysql_error()
?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
_mitya
Отправлено: 06 Мая, 2011 - 16:04:39
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




EuGen пишет:
Что же показывает mysql_error()
?

хм, не знаю.
думаешь из-за этого?
 
 Top
EuGen Администратор
Отправлено: 06 Мая, 2011 - 16:07:16
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Из-за mysql_error() - точно нет. Я же попросил показать, что она показывает.
http://php.su/functions/?mysql_error


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Мелкий Супермодератор
Отправлено: 06 Мая, 2011 - 16:27:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




_mitya, phpfaq.ru/na_tanke
Написанный вами код сначала пытается создать БД, а говорит об этом только при клике.


-----
PostgreSQL DBA
 
 Top
_mitya
Отправлено: 06 Мая, 2011 - 17:03:32
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




а вот так? но почему-то ничего не создается и окошко не вылазит

CODE (html):
скопировать код в буфер обмена
  1. <form action="patients.php">
  2. <input type="submit" name="sbmCreateDB" value="Создать базу" />
  3. </form>
  4. <?php
  5. if(isset($_POST['sbmCreateDB'])){
  6.    $con = mysql_connect("localhost","root","");
  7.    if (!$con){
  8.        die('Could not connect: ' . mysql_error());
  9.    }
  10.    if (mysql_query("CREATE DATABASE patients",$con)){
  11.        echo "javascript:alert('База данных пациентов создана');";
  12.    } else {
  13.        echo "javascript:alert('Ошибка создания базы данных');";
  14.    }
  15.  
  16. mysql_close($con);
  17. }
  18. ?>
 
 Top
EuGen Администратор
Отправлено: 06 Мая, 2011 - 17:09:57
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




<form action="patients.php" method="POST">


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
_mitya
Отправлено: 07 Мая, 2011 - 12:23:49
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Спасибо, се получилось, вот код. Только интересно, ничего что код php прерывается?

CODE (html):
скопировать код в буфер обмена
  1.  <form action="patients.php" method="post">
  2. <input class="input_pat" name="create_db" type="submit" value="Создать базу"/>
  3.  <?php
  4.         $hostname='localhost';
  5. $username='root';
  6. $password='';
  7. if(isset($_POST['create_db']))
  8. {
  9.         $con = mysql_connect($hostname,$username,$password);
  10.                 if (!$con)
  11.  {
  12.  die('Could not connect: ' . mysql_error());
  13.  }
  14.  
  15. if (mysql_query("CREATE DATABASE patients",$con))
  16.  {
  17.         ?> <script type="text/javascript">
  18. javascript:window.alert('База данных создана')
  19. </script>
  20. <?php
  21.          }
  22. else
  23.  {
  24.  ?> <script type="text/javascript">
  25. javascript:window.alert('Ошибка создания базы данных')
  26. </script>
  27. <?php
  28.  }
  29.  
  30. mysql_close($con);}
  31. ?>

(Отредактировано автором: 07 Мая, 2011 - 14:02:35)

 
 Top
EuGen Администратор
Отправлено: 07 Мая, 2011 - 14:51:09
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Сделайте обработку ошибок http://phpfaq[dot]ru/debug3


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
_mitya
Отправлено: 07 Мая, 2011 - 20:54:46
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




это как? Улыбка
у меня много ошибок? вроде все выполняется.
а не подскажите, как сделать, чтоб если база данных уже создана, при нажатии на кнопку выводилось соответствующее сообщение
 
 Top
EuGen Администратор
Отправлено: 07 Мая, 2011 - 20:55:59
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Используйте SHOW DATABASES LIKE 'имя БД'


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
_mitya
Отправлено: 07 Мая, 2011 - 21:15:09
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




В смысле если база данных уже создана, а я опять на жму на кнопку создания - мне напишет - база уже создана.
Это с помощью SHOW
не так совсем?

CODE (html):
скопировать код в буфер обмена
  1.   <?php
  2.         $hostname='localhost';
  3. $username='root';
  4. $password='';
  5. if(isset($_POST['create_db']))
  6. {
  7.         $con = mysql_connect($hostname,$username,$password);
  8.                 if (!$con)
  9.  {
  10.  die('Could not connect: ' . mysql_error());
  11.  }
  12. $query_sql="CREATE DATABASE IF NOT EXISTS patients";
  13. $query=mysql_query($query_sql,$con);
  14. $query_sql2="SHOW DATABASES LIKE patients";
  15. if (mysql_query($query_sql2,$con)==NULL)
  16. {
  17. if ($query)
  18.  {
  19.         ?> <script type="text/javascript">
  20. window.alert('База данных создана')
  21. </script>
  22. <?php
  23.          }
  24. else
  25.  {
  26.  ?> <script type="text/javascript">
  27. window.alert('Ошибка создания базы данных')
  28. </script>
  29. <?php
  30.  }
  31. }
  32.  else
  33.  {
  34.            ?> <script type="text/javascript">
  35. window.alert('уже есть')
  36. </script>
  37. <?php
  38.           }
  39.          
  40.  
  41. mysql_close($con);}
  42. ?>
  43.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB