Как выполнить SQL-запрос и получить результаты с помощью PHP?
В этой статье мы обсудим, как выполнить SQL-запрос и как получить его результат?
Мы можем выполнить запрос к базе данных, используя метод PHP mysqli_query().
Синтаксис: мы можем использовать метод mysqli_query() двумя способами:
- Объектно-ориентированный стиль
- Процедурный стиль
Параметры:
- соединение: требуется, чтобы указать используемое соединение.
- запрос: также требуется, чтобы указать запрос к базе данных.
- режим результата: необязательно использовать.
Возвращаемое значение: Для SELECT, SHOW, DESCRIBE или EXPLAIN возвращается объект mysqli_result. Для других успешных запросов он возвращает true. В противном случае при ошибке возвращается false .
Давайте разберемся, как мы можем выполнить SQL-запрос.
Выполнение SQL-запроса: мы поймем, как мы можем выполнить SQL-запрос, на примере. Мы создадим базу данных, таблицу, а затем вставим в нее некоторые значения.
Пример: Создайте базу данных и вставьте в нее некоторые значения.
PHP
<?php $servername = "localhost" ; $username = "root" ; $password = "" ; $conn = new mysqli( $servername , $username , $password ); if ( $conn ->connect_error) { die ( "Connection failed: " . $conn ->connect_error); } $sql = "CREATE DATABASE gfgDB" ; if ( $conn ->query( $sql ) === TRUE) { echo "Database has been created successfully" ; } else { echo "Error creating database: " . $conn ->error; } $conn ->close(); ?> |
Выход:
Database has been created successfully
Создание таблицы:
PHP
<?php $servername = "localhost" ; $username = "root" ; $password = "" ; $dbname = "gfgDB" ; $conn = new mysqli( $servername , $username , $password , $dbname ); if ( $conn ->connect_error) { die ( "Connection failed: " . $conn ->connect_error); } $sql = "CREATE TABLE Emp ( id INT(6) AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL )"; if ( $conn ->query( $sql ) === TRUE) { echo "Table has been created successfully" ; } else { echo "Error creating table: " . $conn ->error; } $conn ->close(); ?> |
Выход:
Table has been created successfully
Вставка некоторых значений в таблицу «Emp»:
PHP
<?php $servername = "localhost" ; $username = "root" ; $password = "" ; $dbname = "gfgDB" ; $conn = new mysqli( $servername , $username , $password , $dbname ); if ( $conn ->connect_error){ die ( "Connection failed: " . $conn ->connect_error); } $sql = "INSERT INTO Emp (firstname, lastname) VALUES ( "XYZ" , "ABC" )"; if ( $conn ->query( $sql ) === TRUE) { echo "New record created successfully" ; } else { echo "Error: " . $sql . "<br>" . $conn ->error; } $conn ->close(); ?> |
Выход:
New record created successfully
Примечание. Поскольку мы использовали AUTO_INCREMENT, он автоматически вставит запись с «id = 1» и для каждой новой вставленной записи будет увеличивать «id» на единицу.
Получение результатов из базы данных :
PHP
<?php $servername = "localhost" ; $username = "root" ; $password = "" ; $dbname = "gfgDB" ; $conn = new mysqli( $servername , $username , $password , $dbname ); if ( $conn ->connect_error) { die ( "Connection failed: " . $conn ->connect_error); } $sql = "SELECT id, firstname, lastname FROM Emp" ; $result = $conn ->query( $sql ); if ( $result ->num_rows > 0) { while ( $row = $result ->fetch_assoc()) { echo "id: " . $row [ "id" ]. " - Name: " . $row [ "firstname" ]. " " . $row [ "lastname" ]. "<br>" ; } } else { echo "No records has been found" ; } $conn ->close(); ?> |
Выход:
id: 1 - Name: XYZ ABC