- Создание базы данных и таблиц PDO
- Создание базы данных
- Создание таблицы
- Php create database with pdo
- Создание базы данных
- Создание таблицы
- PHP Create a MySQL Database
- Create a MySQL Database Using MySQLi and PDO
- Example (MySQLi Object-oriented)
- Example (MySQLi Procedural)
- Example (PDO)
- PHP PDO MySQL
- Creating a database
- Connecting to the bookdb database from PHP
- Using the class-based approach
Создание базы данных и таблиц 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 , после которой указывается имя создаваемой базы данных.
Создадим базу данных через 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»;
?php
// 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).
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»;
?php
// 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»;
?php
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 root
Code 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.