我正在尝试将用户以表单提交的数据放入我拥有的 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/