一尘不染

如何使用带有PHP的预备语句插入MySQL中

mysql

我只是在学习数据库,我希望能够存储用户输入。如何使用PHP获取表单数据并将其保存到数据库的基本示例是什么?

也使表单免受SQL攻击


阅读 286

收藏
2020-05-17

共1个答案

一尘不染

文件 sample.html

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

文件 sample.php

<?php
    if (isset($_POST['submit'])) {

        $mysqli = new mysqli('localhost', 'user', 'password', 'mysampledb');

        /* Check connection */
        if (mysqli_connect_errno()) {
            printf("Connect failed: %s\n", mysqli_connect_error());
            exit();
        }

        $stmt = $mysqli->prepare("INSERT INTO SampleTable VALUES (?)");
        $stmt->bind_param('s', $sample);   // Bind $sample to the parameter

        $sample = isset($_POST['sample'])
                  ? $_POST['sample']
                  : '';

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

        printf("%d Row inserted.\n", $stmt->affected_rows);

        /* Close statement and connection */
        $stmt->close();

        /* Close connection */
        $mysqli->close();
    }
?>

这是一个非常基本的例子。今天,许多PHP开发人员都在转向PDO。Mysqli并不是过时的,但是PDO 容易 得多 ,恕我直言。

2020-05-17