Las operaciones de base de datos en PHP son algo muy importante que se necesita especialmente en las operaciones CRUD (Crear, Leer, Actualizar y Eliminar).
En este artículo, discutiremos la parte de lectura , es decir, la obtención de datos de la base de datos.
Hay dos formas de conectarse a una base de datos usando PHP. Son los siguientes.
- MySQLi (“i” significa mejorado)
- PDO (objetos de datos PHP)
MySQLi vs PDO : ambas formas son realmente buenas, pero solo hay una diferencia entre los dos métodos, PDO puede funcionar en 12 sistemas de bases de datos diferentes, mientras que MySQLi funciona solo con bases de datos MySQL.
Conexión a una base de datos:
-
MySQLi orientado a objetos
$conn = new mysqli($servername, $username, $databasename)
-
Procedimiento MySQLi
$conn = mysqli_connect($servername, $username, $password, $databasename);
-
DOP
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $databasename);
Ejecución de consultas: después de conectarnos a la base de datos, debemos ejecutar consultas para obtener datos. En las operaciones de lectura, usaremos solo consultas de selección para obtener datos de la base de datos.
-
MySQLi orientado a objetos
$conn->query($query);
-
Procedimiento MySQLi
mysqli_query($conn, $query)
-
DOP
$stmt = $conn->prepare($query); $stmt->execute();
Cerrar conexión: después de realizar la búsqueda, debe cerrar la conexión a la base de datos utilizando la función close() .
$conn->close();
Base de datos de muestra
Crear tabla en la base de datos:
CREATE TABLE `Student Details` ( `Roll_No` int(11) NOT NULL, `Name` varchar(255) NOT NULL, `City` varchar(255) NOT NULL, `Age` int(11) NOT NULL, PRIMARY KEY (`Roll_No`) );
Enfoque orientado a objetos de MySQLi:
Código PHP:
PHP
<?php $servername = "localhost"; $username = "root"; $password = ""; $databasename = "geeksforgeeks"; // CREATE CONNECTION $conn = new mysqli($servername, $username, $password, $databasename); // GET CONNECTION ERRORS if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // SQL QUERY $query = "SELECT * FROM `Student Details`;"; // FETCHING DATA FROM DATABASE $result = $conn->query($query); if ($result->num_rows > 0) { // OUTPUT DATA OF EACH ROW while($row = $result->fetch_assoc()) { echo "Roll No: " . $row["Roll_No"]. " - Name: " . $row["Name"]. " | City: " . $row["City"]. " | Age: " . $row["Age"]. "<br>"; } } else { echo "0 results"; } $conn->close(); ?>
Producción:
Roll No: 1 - Name: Ram | City: Delhi | Age: 18 Roll No: 2 - Name: Shyam | City: Mumbai | Age: 19 Roll No: 3 - Name: Rohit | City: Chennai | Age: 18 Roll No: 4 - Name: Suresh | City: Kolkata | Age: 20
Enfoque de procedimiento MySQLi:
Código PHP:
PHP
<?php $servername = "localhost"; $username = "root"; $password = ""; $databasename = "geeksforgeeks"; // CREATE CONNECTION $conn = mysqli_connect($servername, $username, $password, $databasename); // GET CONNECTION ERRORS if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // SQL QUERY $query = "SELECT Roll_No, Name FROM `Student Details`;"; // FETCHING DATA FROM DATABASE $result = mysqli_query($conn, $query); if (mysqli_num_rows($result) > 0) { // OUTPUT DATA OF EACH ROW while($row = mysqli_fetch_assoc($result)) { echo "Roll No: " . $row["Roll_No"] . " - Name: " . $row["Name"]. "<br>"; } } else { echo "0 results"; } $conn->close(); ?>
Producción:
Roll No: 1 - Name: Ram Roll No: 2 - Name: Shyam Roll No: 3 - Name: Rohit Roll No: 4 - Name: Suresh
Enfoque de DOP:
Código PHP:
PHP
<?php $servername = "localhost"; $username = "root"; $password = ""; $databasename = "geeksforgeeks"; // CREATE CONNECTION $conn = mysqli_connect($servername, $username, $password, $databasename); // GET CONNECTION ERRORS if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // SQL QUERY $query = "SELECT Roll_No, Name, City FROM `Student Details` WHERE Age > 18;"; try { $conn = new PDO( "mysql:host=$servername;dbname=$databasename", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare($query); // EXECUTING THE QUERY $stmt->execute(); $r = $stmt->setFetchMode(PDO::FETCH_ASSOC); // FETCHING DATA FROM DATABASE $result = $stmt->fetchAll(); // OUTPUT DATA OF EACH ROW foreach ($result as $row) { echo "Roll No: " . $row["Roll_No"]. " - Name: " . $row["Name"]. " | City: " . $row["City"]. "<br>"; } } catch(PDOException $e) { echo "Error: " . $e->getMessage(); } $conn->close(); ?>
Producción:
Roll No: 2 - Name: Shyam | City: Mumbai Roll No: 4 - Name: Suresh | City: Kolkata
Publicación traducida automáticamente
Artículo escrito por abir22197072 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA