提问者:小点点

回答:无法从PHP将我的数据插入MySql数据库[重复]


我面对这个错误,根本无法摆脱。谁能帮帮忙吗?

注意:我是一个新手,刚开始学习这个,所以请耐心听我说这段代码。

附:

1:我的表单(HTML)的代码段2:我的PHP页面的代码段,其中数据要插入到DB中。3:输出(错误)4:我的数据库屏幕快照。

1表单代码

<form class="uk-grid-small uk-margin-medium-top" data-uk-grid action="insertContact.php" method="post">
                    <div class="uk-width-1-1">
                        <label>
                            <input class="uk-input uk-form-large" type="text" name="name" placeholder="Full Name">
                        </label>
                    </div>
                    <div class="uk-width-1-1">
                        <label>
                            <input class="uk-input uk-form-large" type="email" name="mail" placeholder="Email Address">
                        </label>
                    </div>
                    <div class="uk-width-1-1">
                        <label for="reason"></label>
                        <select name="reason" class="uk-select uk-form-large" >
                            <option value="">Reason for contacting us</option>
                            <option value="quote">Quote request</option>
                            <option value="meet">Arrange a meeting</option>
                            <option value="work">Work for us</option>
                            <option value="legal">Legal</option>
                            <option value="other">Other</option>
                        </select>
                    </div>
                    <div class="uk-width-1-1">
                        <label for="message"></label>
                        <textarea class="uk-textarea" rows="5" placeholder="Message" name="txtMessage" id="txtMessage"></textarea>


                    </div>
                    <div class="uk-width-1-1">
                        <button class="uk-button uk-button-large uk-button-primary">Send Message</button>
                    </div>
                </form>

2 PHP代码

<?php

$server_name= "localhost";
$db_user="root";
$db_password="";
$db_name="digitalmarketing";

$connection=mysqli_connect($server_name,$db_user,$db_password,$db_name);
$dbconfig=mysqli_select_db($connection,$db_name);

if($connection==false)
{
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

$name=$_POST['name'];
$mail=$_POST['mail'];
$reason=$_POST['reason'];
$message=$_POST['txtMessage'];


echo $name;
echo "<br>";
echo $mail;
echo "<br>";
echo $reason;
echo "<br>";
echo $message;
echo "<br>";


$sql='INSERT INTO `contacts` VALUES (NULL,  $mail,  $reason, $message)';



if(mysqli_query($connection, $sql)){
    echo "Records inserted successfully.";
} else{

    ?>
    <div class="uk-alert-danger uk-alert uk-alert-danger uk-alert-large" uk-alert>
        <a class="uk-alert-close"  uk-close></a>
        <p> <?php echo "ERROR: Could not able to execute $sql. " . mysqli_error($connection); ?> </p>
    </div>

    <?php

}

3错误截图

错误:

Anshul Paliwal abc@gmail.com meet Hello请帮助我lol错误:无法执行INSERT INTOcontacts值(NULL,$mail,$reason,$message)。“Field List”中的列“$Mail”未知

错误SS

dB

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


CREATE TABLE `contacts` (
  `contact_id` int(11) NOT NULL,
  `contact_mail` varchar(200) NOT NULL,
  `contact_reason` varchar(1000) NOT NULL,
  `contact_message` varchar(2000) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

共1个答案

匿名用户

试试看:

$sql="INSERT INTO `contacts` VALUES (NULL,  '$mail',  '$reason', '$message')";