Cómo insertar en MySQL usando mysqli

1 minuto de lectura

avatar de usuario de bammab
bammab

Estoy aprendiendo sobre bases de datos y quiero poder almacenar las entradas de los usuarios. ¿Cuál sería un ejemplo básico sobre cómo obtener datos de formulario y guardarlos en una base de datos usando PHP?

También hacer que el formulario sea seguro de ataques SQL.

Avatar de usuario de Herbert
Herbert

Archivo muestra.html

<form action="sample.php" method="POST">
    <input name="name" type="text">
    <input name="text" type="text">
    <input name="submit" type="submit" value="Submit">
</form>

Archivo muestra.php

<?php

if (isset($_POST['submit'])) {
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = new mysqli('localhost', 'user', 'password', 'mysampledb');

    // replace every piece of data in SQL with question mark 
    $sql = "INSERT INTO SampleTable (name, text) VALUES (?,?)"
    //                                  2 question marks ^^^
    // prepare this query
    $stmt = $mysqli->prepare($sql);
    // bind every variable, adding s for each to the types string
    $stmt->bind_param('ss', $_POST['name'], $_POST['text']);
    //     2 s letters ^^        ^^   2 variables   ^^

    /* Execute prepared statement */
    $stmt->execute();
}

Este es un ejemplo muy básico. Muchos desarrolladores de PHP hoy en día recurren a DOP. Mysqli no está obsoleto, pero PDO sí mucho más fácil, en mi humilde opinión.

¿Ha sido útil esta solución?