2016-02-19 3 views
0

В настоящее время я пишу файл установки базы данных, который автоматически устанавливает базу данных для пользователя, чтобы программное обеспечение могло работать. Тем не менее, мне просто интересно:Как установить базу данных с помощью php?

Есть ли способ просто нажать на него файл SQL?

На данный момент я имею сделать:

$tbl_users = "CREATE TABLE Users (
       uid INT(255) UNSIGNED AUTO_INCREMENT PRIMARY KEY 
      )"; 

if($db->query($tbl_users) === TRUE) { 
    // do the next creation of a table ... 

для каждой таблицы, а затем вручную добавить строки, а также.

Если бы кто-нибудь мог просто дать мне несколько советов, это будет оценено по достоинству; Мне просто интересно, будет ли файл SQL небезопасным, но если это возможно.

Поскольку это программное обеспечение форума и много людей, кажется, как бесплатный хостинг при использовании его, я не могу использовать shell_exec, поскольку она отключена от наиболее бесплатных хостинг-провайдеров.

Прочтите мои комментарии для лучшего понимания.

+2

Возможная дубликата (HTTP://stackoverflow.com/questions/4027769/running-mysql-sql-files-in-php) – Phiter

+0

Бесплатный хостинг, не может использовать: 'shell_exec' @PhiterFernandes, и я хочу, чтобы это было бесплатным для всех, начиная с его программного обеспечения форума: Я знаю, что люди любят использовать бесплатный хостинг для форума Software. – KDOT

+0

А? Потратьте пару баксов за лучший хостинг. – patricksweeney

ответ

1

Если вы используете общий хостинг и не имеете phpmyadmin или не можете загрузить более 2 МБ файлов или какую-либо другую проблему, тогда вы должны установить MySQL Workbench.

Создайте соединение с сервером mysql, используя настройки, предоставленные хостинг-провайдером, и запустите свой sql.

или запустить SQL скрипт с помощью PHP выполните следующие действия:

<?php 
    $db = mysqli_connect("localhost", "root", "my_password", "database"); 
    if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
    } 
    $query = file_get_contents("myfile.sql"); 
    if (mysqli_multi_query($db, $query)) 
    echo "Success"; 
    else 
    echo "Fail"; 
+0

Я хочу сделать это через PHP. Я не хочу, чтобы они вручную устанавливали файл SQL, но спасибо за ввод. – KDOT

+0

Нет проблем :) ' ' – Sohrab

+0

Sohrab, ваш последний комментарий был бы лучше подходит как часть вашего ответа. – TecBrat

0

Попробуйте это: [. Запуск MySQL \ SQL * файлы в PHP]

<?php 
    system('mysql --user=USER --password=PASSWORD DATABASE< file.sql'); 
?> 
Смежные вопросы