php - 如何使用 PHP 从 MySQL 中的 HTML 表单检索数据?

标签 php html mysql forms

我正在尝试将用户以表单提交的数据放入我拥有的 MySQL 数据库中,但我似乎无法弄清楚! 我到处搜索并最终复制了一些我在互联网上找到的 php 代码,但它仍然没有将数据放入数据库!

这是我的 HTML 表单:

<form action="Sendtodatabase.php" method="POST" name="EmailForm">

    First Name:<br>
    <input type="text" size="25" name="firstname"><br><br>
    Last Name:<br>
    <input type="text" size="25" name="lastname"<br><br><br>
    Email:<br>
    <input type="text" size="25" name="email"<br><br><br>
    Telephone Number:<br>
    <input type="text" size="25" name="telephone"<br><br><br>
    <input type="submit" value="Submit">

</form>

和我的 PHP 文件:

<?php
$con=mysqli_connect(sql307.byethost33.com, b33_13775589, *********, b33_13775589_murdermystery);
if (mysqli_connect_errno($con)) {
    echo "Failed to connect to MySQL: ".mysqli_conect_error();
}
$sql="INSERT INTO Murder (FirstName, LastName, Email, Telephone) VALUES ('$_POST [firstname]', '$_POST [lastname]',
'$_POST [email]', '$_POST [telephone]')";
if (!mysqli_query($con,$sql)) {
    die('Error: '.mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);

我在这里做错了什么? 谢谢!

最佳答案

您的 INSERT 语句似乎有问题。切换到 PDO 并使用准备好的语句来防止注入(inject)。我添加了mysqli_real_escape_string帮助一些人。

$sql="INSERT INTO Murder (FirstName, LastName, Email, Telephone) VALUES (
    '" . mysqli_real_escape_string($_POST["firstname"])."', 
    '" . mysqli_real_escape_string($_POST["lastname"]) . "', 
    '" . mysqli_real_escape_string($_POST["email"]) . "', 
    '" . mysqli_real_escape_string($_POST["telephone"]) . "')";

关于php - 如何使用 PHP 从 MySQL 中的 HTML 表单检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950712/

相关文章:

php - 在 laravel 分页中添加一些数据

HTML:无法获得工具提示溢出:使用 position:relative div 时可见

php - 随机选择动态复选框

javascript - 将所有链接从指定目录重定向到指定文件

javascript - 进度条问题(使用onloadstart、onloadend、onloadprogress)

javascript - 如何将 Google Analytics 集成到 GWT 应用程序中?

php - 使用外键从另一个表中选择名称

mysql - 加快 ORDER BY 日期

MySQL/MariaDB JSON_EXTRACT 和 JSON_CONTAINS

php - 推荐托管 PostGIS 应用程序