За последние 24 часа нас посетили 24293 программиста и 1645 роботов. Сейчас ищет 1321 программист ...

Можно ли php скриптом создать базу данных?

Тема в разделе "MySQL", создана пользователем блудный сын, 5 янв 2009.

  1. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Подскажите, можно ли php скриптом создать базу данных? Если можно, то как это в коде выглядит?
     
  2. mysql_qyery('CREATE DATABASE database');
     
  3. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Что-то не получается :( Выдает:
    Fatal error: Call to undefined function mysql_qyery() in...
    Вот делал так:
    PHP:
    1.  
    2. <?php
    3. $link = mysql_connect("localhost", "root","pass") or die("Could not connect");
    4.   if( !$link ) die( mysql_error() );
    5.  
    6. $link2=mysql_qyery('CREATE DATABASE database');
    7. ?>
    8.  
     
  4. господи... ну ты опечатку сам не можешь исправить в имени функции?
     
  5. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Не заметил :( Подправил.
    PHP:
    1.  
    2. <?php
    3.   $link = mysql_connect("localhost", "root","pass") or die("Could not connect");
    4.  
    5.   $link2=mysql_query('CREATE DATABASE database');
    6.    
    7.  $db_list = mysql_list_dbs($link);
    8.  
    9.   while ($row = mysql_fetch_object($db_list))
    10.   {
    11.     echo "<h3>Database "".$row->Database.""</h3>\n";
    12.   }
    13. ?>
    14.  
    Ошибки не выдает, но и база данных не создалась. Те базы данных, что были по дефолту (mysql и test) выводятся, а новая не появляется.
     
  6. Ну так выведи ошибку? mysql_error() тебе в помощь.
     
  7. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    С помощью вот этого
    Код (Text):
    1. echo mysql_errno() . ": " . mysql_error(). "\n";
    получил что вот такая ошибка выводится:
    0: 1064: 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 'database' at line 1
     
  8. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    А, все! Спасибо! Получилось! Поменял имя database на другое и базы начали создаваться. database это наверно зарезервированное слово и базы данных с таким названием нельзя создавать!
     
  9. Можно. Надо просто CREATE DATABASE `database`
     
  10. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Ага, вот так с этим названием получилось! Хитро как! Мало где это описывается.
     
  11. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    убейся! в доках черным по белому пишут.

    ЭР-ТЕ-ФЕ-ЭМ!
     
  12. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  13. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    У меня две толстых книги по РНР и одна тоненькая и в них даже не пишется как из-под РНР создавать базы данных. Тем более там не пишут о именах баз данных. В них описывается как создавать БД используя приглашение mysql> Но я пока не нашел как его запускать, да оно мне наверно и не надо, т.к. все это умеет делать и РНР. Поэтому и спрашивал в этом направлении.
     
  14. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    ты не путай php и sql языки.

    http://www.mysql.ru/docs/

    , а то по твоему соответствию если я себе поставлю GD2, так php и изображения может обрабатывать? гыгыгы. не путай внешние библиотеки и сам php. сие ОГРОМНАЯ разница.

    ================

    в частности по твоему "кавычному" делу написано именно черным по белому...
    http://www.mysql.ru/docs/man/Legal_names.html