Conexión a la base de datos
Antes de poder realizar una inserción de datos en MySQLi, es necesario establecer una conexión con la base de datos. Para ello, se utiliza la función mysqli_connect() que recibe como parámetros el nombre del servidor, el nombre de usuario, la contraseña y el nombre de la base de datos.
La sintaxis para establecer la conexión es la siguiente:
<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "mydatabase";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Error al conectar a la base de datos: " . mysqli_connect_error());
}
?>
En este ejemplo, se establece una conexión con una base de datos llamada «mydatabase» en el servidor local utilizando el nombre de usuario «root» y la contraseña «password». Si la conexión no se puede establecer, se muestra un mensaje de error.
Preparación de la consulta
Una vez que se ha establecido la conexión, se debe preparar la consulta de inserción. La sintaxis para preparar una consulta de inserción en MySQLi es la siguiente:
$sql = "INSERT INTO table_name (column1, column2, column3, ...) VALUES (?, ?, ?, ...)";
$stmt = mysqli_prepare($conn, $sql);
En esta sintaxis, «table_name» es el nombre de la tabla en la que se desea insertar los datos, y «column1, column2, column3, …» son los nombres de las columnas en las que se insertarán los valores.
El signo de interrogación «?» se utiliza como marcador de posición para los valores que se insertarán. Esto se debe a que se utilizará una sentencia preparada para evitar la inyección de SQL.
Asignación de valores a los parámetros
Una vez que se ha preparado la consulta, se deben asignar los valores a los parámetros. Esto se hace utilizando la función mysqli_stmt_bind_param(). La sintaxis para asignar valores a los parámetros es la siguiente:
mysqli_stmt_bind_param($stmt, "ssss...", $value1, $value2, $value3, ...);
En esta sintaxis, «$stmt» es el objeto de sentencia preparada, «ssss…» es una cadena que especifica el tipo de datos de los valores que se van a insertar (por ejemplo, «s» para cadenas, «i» para enteros, etc.), y «$value1, $value2, $value3, …» son las variables que contienen los valores que se van a insertar.
Es importante tener en cuenta que el número de variables debe coincidir con el número de marcadores de posición en la consulta de inserción.
Ejecución de la consulta
Una vez que se han asignado los valores a los parámetros, se puede ejecutar la consulta utilizando la función mysqli_stmt_execute(). La sintaxis para ejecutar la consulta es la siguiente:
mysqli_stmt_execute($stmt);
Esta función ejecuta la consulta de inserción en la base de datos.
Verificación del resultado
Después de ejecutar la consulta, se puede verificar el resultado utilizando la función mysqli_stmt_affected_rows(). Esta función devuelve el número de filas afectadas por la consulta de inserción. Si el número de filas es mayor que cero, significa que la inserción se realizó correctamente. Si el número de filas es cero, significa que no se insertaron datos.
La sintaxis para verificar el resultado es la siguiente:
$result = mysqli_stmt_affected_rows($stmt);
if ($result > 0) {
echo "Inserción exitosa";
} else {
echo "No se insertaron datos";
}
En este ejemplo, se muestra un mensaje dependiendo del resultado de la inserción.
Con esta sintaxis, se puede realizar una inserción de datos en MySQLi de manera segura y eficiente. Es importante recordar siempre establecer una conexión con la base de datos, preparar la consulta, asignar valores a los parámetros, ejecutar la consulta y verificar el resultado.