how to insert into mysql using Prepared Statement with php
本问题已经有最佳答案,请猛点这里访问。
所以我只是在学习数据库,我希望能够存储用户输入。有人能给我一个关于如何获取表单数据并使用PHP将其保存到数据库的基本示例吗?同时使表单免受SQL攻击
样本HTML
1 2 3 4 | <form action="sample.php" method="POST"> <input name="sample" type="text"> <input name="submit" type="submit" value="Submit"> </form> |
采样,PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <?php if (isset($_POST['submit'])) { $mysqli = new mysqli('localhost', 'user', 'password', 'mysampledb'); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s ", 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. ", $stmt->affected_rows); /* close statement and connection */ $stmt->close(); /* close connection */ $mysqli->close(); } ?> |
这是一个非常基本的例子。今天许多PHP开发人员都转向了PDO。mysqli并不过时,但PDO要容易得多,imho。