Php create database with pdo

Создание базы данных и таблиц PDO

Для выполнения запросов к серверу базы данных у объекта PDO вызывается метод exec() , в который передается выполняемое выражение SQL .

$conn = new PDO("mysql:host=localhost", "root", "mypassword"); $conn->exec(команда_sql);

Создание базы данных

Для создания базы данных применяется SQL-команда CREATE DATABASE , после которой указывается имя создаваемой базы данных. Создадим базу данных через PHP:

exec($sql); echo "Database has been created"; > catch (PDOException $e) < echo "Database error: " . $e->getMessage(); > ?>

В данном случае после подключения к серверу определяется переменная $sql , которая хранит команду на создание бд с именем textdb1 :

$sql = "CREATE DATABASE testdb1";

Далее для выполнения этой команды передаем ее в метод exec() :

В итоге при успешном создании базы данных мы увидим в браузере сообщение об создании БД:

Database has been created

Создание таблицы

Подобным образом можно выполнять запросы на создание таблиц в базе данных. Для создания таблиц применяется SQL-команда CREATE TABLE , после которой указывается имя создаваемой таблицы и в скобках определения столбцов.

Так, возьмем выше созданную базу данных textdb1 . И создадим в ней таблицу, которая описывается следующим кодом

CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER);

Здесь создается таблица под названием users . Она будет хранить условных пользователей. В ней будет три столбца: id , name и age . Столбец id представляет числовой уникальный идентификатор строки — или идентификатор пользователя. Столбец name представляет строку — имя пользователя. А столбец age представляет число — возраст пользователя.

Для создания таблицы определим следующий скрипт php:

exec($sql); echo "Table Users has been created"; > catch (PDOException $e) < echo "Database error: " . $e->getMessage(); > ?>

Обратите внимание, что по сравнению с предыдущим примером здесь в строке подключения указана база данных, в которой создается таблица: «mysql:host=localhost;dbname=testdb1»

И после успешного выполнения запрос мы увидим в браузере сообщение об создании таблицы:

Table Users has been created

Источник

Php create database with pdo

Для выполнения запросов к серверу базы данных у объекта PDO вызывается метод exec() , в который передается выполняемое выражение SQL.

$conn = new PDO("mysql:host=localhost", "root", "mypassword"); $conn->exec(команда_sql);

Создание базы данных

Для создания базы данных применяется SQL-команда CREATE DATABASE , после которой указывается имя создаваемой базы данных.

Читайте также:  Расположение по горизонтали css

Создадим базу данных через PHP:

exec($sql); echo "Database has been created"; > catch (PDOException $e) < echo "Database error: " . $e->getMessage(); > ?>

В данном случае после подключения к серверу определяется переменная $sql , которая хранит команду на создание бд с именем «textdb1»:

$sql = "CREATE DATABASE testdb1";

Далее для выполнения этой команды передаем ее в метод exec() :

В итоге при успешном создании базы данных мы увидим в браузере сообщение об создании БД:

Создание таблицы

Подобным образом можно выполнять запросы на создание таблиц в базе данных. Для создания таблиц применяется SQL-команда CREATE TABLE , после которой указывается имя создаваемой таблицы и в скобках определения столбцов.

Так, возьмем выше созданную базу данных «testdb1». И создадим в ней таблицу, которая описывается следующим кодом

CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER);

Здесь создается таблица под названием «users». Она будет хранить условных пользователей. В ней будет три столбца: id, name и age. Столбец id представляет числовой уникальный идентификатор строки — или идентификатор пользователя. Столбец name представляет строку — имя пользователя. А столбец age представляет число — возраст пользователя.

Для создания таблицы определим следующий скрипт php:

exec($sql); echo "Table Users has been created"; > catch (PDOException $e) < echo "Database error: " . $e->getMessage(); > ?>

Обратите внимание, что по сравнению с предыдущим примером здесь в строке подключения указана база данных, в которой создается таблица: «mysql:host=localhost;dbname=testdb1»

И после успешного выполнения запрос мы увидим в браузере сообщение об создании таблицы:

Источник

PHP Create a MySQL Database

You will need special CREATE privileges to create or to delete a MySQL database.

Create a MySQL Database Using MySQLi and PDO

The CREATE DATABASE statement is used to create a database in MySQL.

The following examples create a database named «myDB»:

Example (MySQLi Object-oriented)

$servername = «localhost»;
$username = «username»;
$password = «password»;

// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) die(«Connection failed: » . $conn->connect_error);
>

// Create database
$sql = «CREATE DATABASE myDB»;
if ($conn->query($sql) === TRUE) echo «Database created successfully»;
> else echo «Error creating database: » . $conn->error;
>

Note: When you create a new database, you must only specify the first three arguments to the mysqli object (servername, username and password).

Читайте также:  Identifier expectedscss css identifierexpected

Tip: If you have to use a specific port, add an empty string for the database-name argument, like this: new mysqli(«localhost», «username», «password», «», port)

Example (MySQLi Procedural)

$servername = «localhost»;
$username = «username»;
$password = «password»;

// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) die(«Connection failed: » . mysqli_connect_error());
>

// Create database
$sql = «CREATE DATABASE myDB»;
if (mysqli_query($conn, $sql)) echo «Database created successfully»;
> else echo «Error creating database: » . mysqli_error($conn);
>

Note: The following PDO example create a database named «myDBPDO»:

Example (PDO)

$servername = «localhost»;
$username = «username»;
$password = «password»;

try $conn = new PDO(«mysql:host=$servername», $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = «CREATE DATABASE myDBPDO»;
// use exec() because no results are returned
$conn->exec($sql);
echo «Database created successfully
«;
> catch(PDOException $e) echo $sql . «
» . $e->getMessage();
>

Tip: A great benefit of PDO is that it has exception class to handle any problems that may occur in our database queries. If an exception is thrown within the try < >block, the script stops executing and flows directly to the first catch() < >block. In the catch block above we echo the SQL statement and the generated error message.

Источник

PHP PDO MySQL

Summary: in this tutorial, you will learn how to create a new sample database in MySQL for practicing with PDO.

Creating a database

First, log in to the MySQL database using the root user from the Command Prompt on Windows or Terminal on macOS and Linux:

mysql -u rootCode language: Shell Session (shell)

And you’ll prompt for a password; enter the password for the root user and you’re connected to the MySQL Server.

Next, create the bookdb database by executing the following CREATE DATABASE statement:

CREATE DATABASE IF NOT EXISTS bookdb;Code language: SQL (Structured Query Language) (sql)

Then, select to the bookdb database:

USE bookdb;Code language: PHP (php)

After that, execute the following CREATE TABLE statement to create the publishers table:

CREATE TABLE IF NOT EXISTS publishers ( publisher_id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, PRIMARY KEY (publisher_id) );Code language: SQL (Structured Query Language) (sql)

Finally, execute the following CREATE TABLE statement to create the books table:

CREATE TABLE IF NOT EXISTS books ( book_id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, isbn VARCHAR(13) NULL, published_date DATE NULL, publisher_id INT NULL, PRIMARY KEY (book_id), CONSTRAINT fk_publisher FOREIGN KEY (publisher_id) REFERENCES publishers (publisher_id) );Code language: SQL (Structured Query Language) (sql)

Connecting to the bookdb database from PHP

First, create a config.php file to store the database parameters:

 $host = 'localhost'; $db = 'bookdb'; $user = 'root'; $password = '';Code language: HTML, XML (xml)

Second, create a new connect.php file that connects to the bookdb database:

 require 'config.php'; $dsn = "mysql:host=$host;dbname=$db;charset=UTF8"; try < $options = [PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION]; $conn = new PDO($dsn, $user, $password, $options); if ($conn) < echo "Connected to the $db database successfully!"; > > catch (PDOException $e) < echo $e->getMessage(); >Code language: HTML, XML (xml)

To make it more reusable, you can define a function called connect() that returns a new database connection and return it from the connect.php file:

 require_once 'config.php'; function connect($host, $db, $user, $password) < $dsn = "mysql:host=$host;dbname=$db;charset=UTF8"; try < $options = [PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION]; return new PDO($dsn, $user, $password, $options); > catch (PDOException $e) < die($e->getMessage()); > > return connect($host, $db, $user, $password);Code language: HTML, XML (xml)

To get the database connection in other script files, you use the require construct like this:

 $pdo = require 'connect.php'; var_dump($pdo);Code language: HTML, XML (xml)

The require construct loads the connect.php file and returns the new instance of PDO returned by the connect() function.

Using the class-based approach

To use a class instead of a function to create a new database connection, you can follow these steps:

First, create a new file called Connection.php and define the Connection class:

 require_once 'config.php'; class Connection < public static function make($host, $db, $user, $password) < $dsn = "mysql:host=$host;dbname=$db;charset=UTF8"; try < $options = [PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION]; return new PDO($dsn, $username, $password, $options); > catch (PDOException $e) < die($e->getMessage()); > > > return Connection::make($host, $db, $user, $password);Code language: HTML, XML (xml)

The Connection class has the make() method that returns a new instance of PDO.

Second, use the Connection.php file in other script files as follows:

 $pdo = require 'Connection.php'; var_dump($pdo);Code language: HTML, XML (xml)

In this tutorial, you have learned how to create the bookdb database in the MySQL server and developed a reusable script for connecting the database.

Источник

Оцените статью