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


Form Entry Using PHP to Store in MySQL and Return Entered Value

这是我的第一篇文章,所以如果是重复,我深表歉意。我在这里有点茫然,无法弄清楚为什么我输入的信息在提交到表单时没有显示。这只是我使用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 数据库,则会显示信息,因此输入正确。任何帮助或指示将不胜感激!

如果您

使用的操作系统与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>';
    }
    ?>