php - 使用 PHP 的表单输入存储在 MySQL 中并返回输入的值

标签 php mysql forms

这是我的第一篇文章,如果重复,我深表歉意。我在这里有点不知所措,无法弄清楚为什么我输入的信息在我提交到表单时没有显示。这只是我使用 PHP 的第二周,但我正在尝试将输入到表单中的信息存储在 MySQL 中并显示在用户的屏幕上。

    <?php

$user = "root";
$pass = "root";
$dbh = new PDO('mysql:host=localhost; dbname=ssl; port=8889', $user, $pass);

if ($_SERVER['REQUEST_METHOD'] == 'POST'){
    $fruitname = $_POST['fruitname'];
    $fruitcolor = $_POST['fruitcolor'];
    $stmt = $dbh->prepare("INSERT INTO fruits (fruitname, fruitcolor) VALUES (:fruitname, :fruitcolor);");

    $stmt->bindParam(':fruitname', $fruitname);
    $stmt->bindParam(':fruitcolor', $fruitcolor);
    $stmt->execute();
}
?>

以下是我为显示信息而设置的表格的 HTML

<!-----HTML FORM ENTRY----->
    
    
<!DOCTYPE html>
    

<html lang="en">
    

<head>
    
    
    <meta charset="UTF-8">
    
    <title>Fruit Database Application</title>
    
    <link rel="stylesheet" type="text/css" href="css/styles.css">
    
    
</head>

    
    <body>

    
    <h1>Database Test</h1>

    
    <section class="formStyle">
    
    
    <form action="fruits.php" method="post">
    
        <label>
    
            <b>Fruit Name:</b><input type="text" name="fruitname" value="" required>
    
        </label><br/><br/>
    
        <label><b>Fruit Color:</b><input type="text" name="fruitcolor" value="" required>
    
        </label><br/><br/>
    
        <input type="submit" name="submit" value="Submit">
    
    </form>
    
    </section>
    
    <br/>
    
    <section class="tableStyle">
    
    
    <table>
    
        <thead>
    
        <tr>
    
            <th>Fruit ID</th>
    
            <th>Fruit Name</th>
    
            <th>Fruit Color</th>
    
            <th>Action</th>
    
        </tr>
    
        </thead>
    
    
        <tbody>
 

这是输入表中的最后一点 PHP

<?php
    $stmt = $dbh->prepare('SELECT * FROM fruits order by fruitId ASC;');

    $stmt->execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
    foreach ($result as $row){
        echo '<tr><td>' . $row['fruitId'] . '</td><td>' . $row['fruitName'] . '</td><td>' . $row['fruitColor'] . '</td><td><a href="deletefruit.php?id=' . $row['fruitId'] . '">Delete</a></td>';
    }
    ?>


    </tbody>
    </table>
</section>
</body>
</html>

我似乎无法显示的是输入到表单中的信息。如果我提交名称和颜色,并刷新我的 SQL 数据库,信息就会显示出来,所以输入正确。如有任何帮助或指点,我们将不胜感激!

最佳答案

如果您使用的 os 与 windows 不同,那么 mysql 标识符区分大小写 :),因为您添加到表中很顺利,所以它们是小写的

这里是用于检索更正信息的代码:

<?php
    $stmt = $dbh->prepare('SELECT * FROM fruits order by fruitId ASC;');

    $stmt->execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
    foreach ($result as $row){
        echo '<tr><td>' . $row['fruitid'] . '</td><td>' . $row['fruitname'] . '</td><td>' . $row['fruitcolor'] . '</td><td><a href="deletefruit.php?id=' . $row['fruitid'] . '">Delete</a></td></tr>';
    }
    ?>

关于php - 使用 PHP 的表单输入存储在 MySQL 中并返回输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34840635/

相关文章:

php - 表单无需检查即可工作,但停止不会插入检查

php - 如何在php中没有mcrypt库的情况下加密字符串

javascript - json_encode 是否非常挑剔?

mysql - 无法安装 RMySQL 包

php - 数据库中的数据未出现在 PHP 应用程序的表中

mysql - 如何将某些列数据从第一个表移动到第二个表。并在单个查询中用不同的数据填充第二个表的其他列

php - 提交到多个php脚本

c# - 可访问性不一致 : field type 'TagHandler' is less accessible than field 'EditTag.tag'

php - 如何解析<media :content> tag in RSS with simplexml

php - PDO 准备在单个查询中插入多行