php - HTML 表单发送到 MYSQL DB 时出现 PHP POST 错误

标签 php html mysql forms post

所以我一直在尝试创建一个简单的 HTML 表单,将用户信息提交到本地 MYSQL 数据库。当我尝试运行它时,我收到“无法 POST/test/addperson.php”。我尝试过许多其他发布的解决方案,但似乎都不起作用。

HTML

<!DOCTYPE html>

<html>
    <body>
        <h2>User Database</h2>
        <br>
        <form action="test/addperson.php" 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>

PHP

<?php
$connect = mysql_connect("localhost:3306","root", "password");

if(!connect){
    die('Connection Failed: ' . mysql_error());
}

mysql_select_db("Users", $connect);

$user_info = "INSERT INTO employees (first_name, last_name) VALUES ('$_POST[first_name]', '$_POST[last_name]')";

if(!sql_query($user_info, $connect)){
    die('Error' . mysql_error());
}

echo "Your information was added to the database.";

mysql_close($connect);

?>

最佳答案

使用这样的准备好的语句。出于安全原因,请勿使用 MYSQL_ 函数。 如果是简单的页面,就使用这段代码。只需创建一个 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>

关于php - HTML 表单发送到 MYSQL DB 时出现 PHP POST 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45060347/

相关文章:

php - Mysql select max 最大总和值

php - fatal error : Call To A Member Function Fetch_assoc() On Boolean

php - while循环只执行一次

javascript - 重叠修复导航与 jQuery 验证输入错误

html - 定位以空格开头的类值

mysql - mysql中的多列不同

php - 将单个数值插入 MySQL 列

php - 从 github 克隆 laravel 项目

javascript - 如何替换 HTML 标签和属性

mysql - 用 View 翻译表格是否可行?