HTML表单到MYSQL DB获取PHP POST错误
所以我一直在尝试创建一个简单的HTML表单,将用户信息提交到本地MYSQL数据库。当我尝试运行它时,我得到“cannotpost/test/addperson.php”。我已经尝试了很多其他的解决方案,但是没有一个是有效的 HTMLHTML表单到MYSQL DB获取PHP POST错误,php,html,mysql,forms,post,Php,Html,Mysql,Forms,Post,所以我一直在尝试创建一个简单的HTML表单,将用户信息提交到本地MYSQL数据库。当我尝试运行它时,我得到“cannotpost/test/addperson.php”。我已经尝试了很多其他的解决方案,但是没有一个是有效的 HTML 用户数据库 名字: 姓氏: PHP 像这样使用准备好的语句。出于安全原因,请勿使用MYSQL_uu函数。 如果它是一个简单的页面,请使用以下代码。只需创建一个php页面并粘贴以下代码 <?php $servername = "yourservern
用户数据库
名字:
姓氏:
PHP
像这样使用准备好的语句。出于安全原因,请勿使用MYSQL_uu函数。
如果它是一个简单的页面,请使用以下代码。只需创建一个php页面并粘贴以下代码
<?php
$servername = "yourservername";
$username = "root";
$password = "yourpassword";
try
{
$conn = new PDO("mysql:host=$servername;dbname=yourdatabse",
$username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
//a little protection
$first_name=htmlentities( $first_name, ENT_QUOTES | ENT_HTML5,
$encoding = 'UTF-8' );
$last_name=htmlentities( $last_name, ENT_QUOTES | ENT_HTML5,
$encoding = 'UTF-8' );
//save to database
$query = 'INSERT INTO employees (first_name, last_name) VALUES
(:name,:lastname)';
$st=$conn->prepare($query);
$st->bindParam(':name', $first_name);
$st->bindParam(':lastname', $last_name);
$st->execute();
$st->CloseCursor();
$st=null;
}
?>
<!DOCTYPE html>
<html>
<body>
<h2>User Database</h2> <br>
<form action="" method="post">
<p>First Name: </p>
<input type="text" name="first_name">
<p>Last Name: </p>
<input type="text" name="last_name"><br>
<input type="submit" name="submit">
</form>
</body>
</html>
用户数据库
名字:
姓氏:
您需要稍微修改代码,并在插入查询中添加引号:
$user_info = "INSERT INTO employees (first_name, last_name) VALUES ('".$_POST['first_name']."', '".$_POST['last_name']."')";
但是,正如其他人所说,有更好的方法可以做到这一点,请准备好声明。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO。说。即使是这样也不安全!无法POST/test/addperson.php您确定文件所在的位置吗?您是否查看了错误日志以了解更多信息?
<?php
$servername = "yourservername";
$username = "root";
$password = "yourpassword";
try
{
$conn = new PDO("mysql:host=$servername;dbname=yourdatabse",
$username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
//a little protection
$first_name=htmlentities( $first_name, ENT_QUOTES | ENT_HTML5,
$encoding = 'UTF-8' );
$last_name=htmlentities( $last_name, ENT_QUOTES | ENT_HTML5,
$encoding = 'UTF-8' );
//save to database
$query = 'INSERT INTO employees (first_name, last_name) VALUES
(:name,:lastname)';
$st=$conn->prepare($query);
$st->bindParam(':name', $first_name);
$st->bindParam(':lastname', $last_name);
$st->execute();
$st->CloseCursor();
$st=null;
}
?>
<!DOCTYPE html>
<html>
<body>
<h2>User Database</h2> <br>
<form action="" method="post">
<p>First Name: </p>
<input type="text" name="first_name">
<p>Last Name: </p>
<input type="text" name="last_name"><br>
<input type="submit" name="submit">
</form>
</body>
</html>
$user_info = "INSERT INTO employees (first_name, last_name) VALUES ('".$_POST['first_name']."', '".$_POST['last_name']."')";