В настоящее время я борюсь с заданием. Я должен создать PHP-скрипт, который создаст базу данных и все таблицы для этой базы данных. Мне удалось собрать скрипт для создания самой базы данных из чтения здесь и W3Schools, однако я в тупике о том, как иметь тот же скрипт, который создает таблицы в этой новой базе данных. Вот что мне нужно для создания новой базы данных:
<?php $servername = "localhost"; $username = "root"; $password = "mysql"; try { $conn = new PDO("mysql:host=$servername", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "CREATE DATABASE IF NOT EXISTS musicDB"; $conn->exec($sql); echo "DB created successfully"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>
Я попытался следовать этому, чтобы затем создать таблицы с этим:
<?php $servername = "localhost"; $username = "root"; $password = "mysql"; try { $conn = new PDO("mysql:host=$servername", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "CREATE DATABASE IF NOT EXISTS musicDB"; $sql = "use musicDB"; $sql = "CREATE TABLE IF NOT EXISTS ARTISTS ( ID int(11) AUTO_INCREMENT PRIMARY KEY, artistname varchar(30) NOT NULL)"; $conn->exec($sql); echo "DB created successfully"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>
Однако это не работает, и я получаю следующую ошибку: CREATE TABLE, ЕСЛИ НЕ СУЩЕСТВУЕТ ХУДОЖНИКИ (ID int (11) AUTO_INCREMENT PRIMARY KEY, artistname varchar (30) NOT NULL) SQLSTATE [3D000]: Недопустимое имя каталога: 1046 Нет выбранной базы данных
В основном, как я могу сказать скрипту использовать вновь созданную таблицу, а затем создать таблицы для нее? И я знаю, что имя пользователя и пароль показываются, но это работает на моем ноутбуке и никогда не будет нигде, поэтому я не волнуюсь.