PHP表单不插入数据

标签 php mysql

这不会很快上线。我只是想学习 PHP/MySQL。这是我第一次尝试插入数据库。我不明白为什么数据不会插入。这是 HTML 表单:

    <form action="testdbserverside.php" method="post">
    Name:<br />
    <input type="text" id="ContactName" name="Name" /><br />
    E-mail:<br />
    <input type="text" id="ContactEmail" name="Email" /><br />
    Comment:<br />
    <input type="text" id="ContactComment" name="Comment" size="50" />
    <br /><br />
    <input type="submit" id="submit" name="submit" value="Send">
    <input type="reset" id ="reset" value="Reset">
    </form>

这是 PHP:

    <?php
     $ContactName = $_POST["ContactName"];
     $ContactEmail = $_POST["ContactEmail"];
     $ContactComment = $_POST["ContactComment"];

     $sql_connection = mysqli_connect("localhost:8889","root","root","derek_website_tmp");

     if (mysqli_connect_errno())
        {
         echo "failed to connect" . mysqli_connect_error();
        }

     $sql = "INSERT INTO MyContacts (

                ContactName,
                ContactEmail,
                ContactComment,
                ContactDateCreated
            )
            VALUES (
              '$ContactName',
              '$ContactEmail',
              '$ContactComment',
              NOW()
        )";

     if (!mysqli_query($sql_connection,$sql))
        {
        die('Error : ' . mysqli_error($sql_connection));
        }

     mysql_close ($sql_connection);

    ?>

这是数据库:

    mysql> USE derek_website_tmp;
    Database changed
    mysql> CREATE TABLE MyContacts  (
        -> ContactID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        -> ContactName VARCHAR(100),
        -> ContactEmail VARCHAR(100),
        -> ContactComment VARCHAR(200),
        -> ContactDateCreated DATETIME
        -> );
    Query OK, 0 rows affected (0.19 sec)

任何帮助将不胜感激。我意识到这并没有 sanitizer 任何东西,也不值得上线。我现在正在努力将其插入。

谢谢,

最佳答案

$ContactName = $_POST["ContactName"]; 
$ContactEmail = $_POST["ContactEmail"]; 
$ContactComment = $_POST["ContactComment"];

应该是:

$ContactName = $_POST["Name"]; 
$ContactEmail = $_POST["Email"]; 
$ContactComment = $_POST["Comment"];

name 是您的参数,而不是 id

您的查询应该是:

$sql = "INSERT INTO MyContacts (ContactName, ContactEmail, ContactComment, ContactDateCreated ) VALUES ( "'.$ContactName.'", "'.$ContactEmail.'", "'.$ContactComment.'", NOW() )";

关于PHP表单不插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18840349/

相关文章:

php - 如何修复 "imap_utf8"对 php imap 中的电子邮件正文不起作用

php - 寻求有关为 MySQL 查询转义数据的帮助

php - 三元运算符的评估顺序

mysql - SQL连接表与空数据检索无

mysql - JPQL性能分析

php - Php & MYSQL中的战斗系统

PHP - 如果访问者在过去 x 秒内未访问过 1.php,则拒绝访问者访问 2.php

php - CodeIgniter 打印关系数据

mysql - 热门评论、热门用户、热门用户和评论 mysql

php - 用于搜索的 SQL 查询