¿Cómo ejecutar una consulta SQL y obtener resultados usando PHP?

En este artículo, discutiremos cómo ejecutar una consulta SQL y cómo obtener su resultado.

Podemos realizar una consulta contra la base de datos utilizando el método PHP mysqli_query()

Sintaxis: Podemos usar el método mysqli_query( ) de dos maneras:

  • Estilo orientado a objetos
  • Estilo procesal

Parámetros:

  • conexión: Se requiere que especifique la conexión a utilizar.
  • consulta: También se requiere que especifique la consulta de la base de datos.
  • modo de resultado: es opcional de usar.

Valor de retorno: para SELECT , SHOW, DESCRIBE o EXPLAIN , devuelve un objeto mysqli_result. Para otras consultas exitosas, devuelve verdadero. De lo contrario, devuelve falso en caso de falla.

Entendamos cómo podemos ejecutar una consulta SQL.

Ejecutar una consulta SQL: Entenderemos cómo podemos ejecutar una consulta SQL con un ejemplo. Crearemos una base de datos , una tabla y luego insertaremos algunos valores en ella.

Ejemplo: Cree una base de datos e inserte algunos valores en ella.

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();
?>

Producción:

Database has been created successfully

Creando la tabla:

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();
?>

Producción:

Table has been created successfully

Insertando algunos valores en la tabla “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();
?>

Producción:

New record created successfully

Nota: Dado que hemos utilizado AUTO_INCREMENT, automáticamente insertará el registro con “id=1” y por cada registro recién insertado, aumentará el “id” en uno.

Obteniendo resultados de la base de datos :

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();
?>

Producción:

id: 1 - Name: XYZ ABC

Publicación traducida automáticamente

Artículo escrito por sftrengdeepak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *