Función PHP mysqli_prepare ()

Definición y uso

los mysqli_prepare() La función prepara una instrucción SQL para su ejecución, puede usar marcadores de parámetros ("?") en esta consulta, especificar valores para ellos y ejecutarlos más tarde.

Sintaxis

mysqli_prepare($con, $str);

Parámetros

No Señor Descripción de parámetros
1

con(Mandatory)

Este es un objeto que representa una conexión a MySQL Server.

2

str(Mandatory)

Este es un valor de cadena que especifica la consulta requerida.

Valores devueltos

Esta función devuelve un objeto de declaración en caso de éxito y falso en caso de falla.

Versión PHP

Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.

Ejemplo

El siguiente ejemplo demuestra el uso de la función mysqli_prepare () (en estilo procedimental):

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   mysqli_query($con, $query);
   print("Table Created.....\n");

   $stmt = mysqli_prepare($con, "INSERT INTO Test values(?, ?)");
   mysqli_stmt_bind_param($stmt, "si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("Record Inserted.....");

   //Executing the statement
   mysqli_stmt_execute($stmt);

   //Closing the statement
   mysqli_stmt_close($stmt);

   //Closing the connection
   mysqli_close($con);
?>

Esto producirá el siguiente resultado:

Table Created.....
Record Inserted.....

Si verifica el contenido de la tabla como se muestra a continuación $ menos;

mysql> select * from test;
+------+------+
| Name | AGE  |
+------+------+
| Raju |   25 |
+------+------+
1 row in set (0.00 sec)

Ejemplo

En el estilo orientado a objetos, la sintaxis de esta función es $ con-> prepare (); A continuación se muestra el ejemplo de esta función en el estilo orientado a objetos $ minus;

<?php
   //Creating a connection
   $con = new mysqli("localhost", "root", "password", "mydb");

   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   $con -> query($query);
   print("Table Created.....\n");

   $stmt = $con -> prepare( "INSERT INTO Test values(?, ?)");
   $stmt -> bind_param("si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("Record Inserted.....");

   //Executing the statement
   $stmt->execute();

   //Closing the statement
   $stmt->close();

   //Closing the connection
   $con->close();
?>

Esto producirá el siguiente resultado:

Table Created.....
Record Inserted.....