如何使用 HTML 表单在 MySQL 中使用 PHP 插入记录


How to insert a record in MySQL with PHP with an HTML form

我已经在html中创建了一个表单,我希望将表单中输入的数据发送到XAMMP中的mysql数据库。我创建了数据库,表和连接.php文件,用于管理与数据库和数据输入的连接,但是当我尝试时出现以下错误:

"致命错误:未捕获错误:mysql_connect在第 8 行调用 C:''xampp''htdocs''example''connectivity.php:8 堆栈跟踪:#0 {main} 在第 8 行的 C:''xampp''htdocs''example''connectivity.php 中抛出

"我

发布我写的所有代码。有谁知道我错在哪里?

这是表单索引.html

    <!DOCTYPE HTML>
<html>
<head>
    <title>Contact Us</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <?php include("connectivity.php"); ?>
</head>
<body>
    <div id="contact">
        <h3>Contact Us For Any Query</h3>
        <form method="POST" action="connectivity.php">
            Name
            <br>
            <input type="text" name="name">
            <br> Email
            <br>
            <input type="text" name="email">
            <br> Message
            <br>
            <textarea rows="10" cols="50" maxlength="100" name="message"></textarea>
            <br>
            <input type="submit" value="Send Message">
        </form>
    </div>
</body>
</html>

然后是用于定义数据库和表的代码:

CREATE DATABASE practice;
USE practice;
CREATE TABLE contact
(
contactID INT(9) NOT NULL auto_increment,
contactName VARCHAR(40) NOT NULL,
contactEmail VARCHAR(40) NOT NULL,
message VARCHAR(250) NOT NULL,
PRIMARY KEY(contactID)
);

最后是连接.php文件:

<?php
//connecting to the database
define('DB_HOST', 'localhost');
define('DB_NAME', 'practice');
define('DB_USER','root');
define('DB_PASSWORD','');
$con=mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
//inserting Record to the database
$name = $_POST['name'];
$email = $_POST['email'];
$message =  $_POST['message'];
$query = "INSERT INTO contact(contactName,contactEmail,message)VALUES('$name','$email','$message')";
$result = mysql_query($query);
if($result)
    {
        echo "Successfully updated database";
    }
    else
    {
     die('Error: '.mysql_error($con));
    }
    mysql_close($con);
?>

PS:我安装了最新版本的 XAMMP (5.6.15)

$con=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD,##TABLE NAME##) 或 die("无法连接到 MySQL: " .mysql_error());

$query = "插入联系人(联系人姓名,联系人电子邮件,消息)值('$name','$email','$message')";$result = mysqli_query($con,$query);

如果您

使用的是最新版本之一xampp因此您必须使用 PDO或MySQLi 。

您必须将代码更改为类似的东西。

您的连接页面

<?php

    $db = new PDO('mysql:host=localhost;dbname=practice;charset=utf8', 
                  'root', 
                  '',
                  array(PDO::ATTR_EMULATE_PREPARES => false,
                  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

?>
<?php
if (isset($_POST['name'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message =  $_POST['message'];

    $stmt = $db->prepare("INSERT INTO `contact` (contactName,contactEmail,message)
    VALUES (:name, :email, :message)");
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':email', $email);
    $stmt->bindParam(':message', $message);
    $stmt->execute();
    echo 'added';
}
?>

您的主页

<!DOCTYPE HTML>
<html>
<head>
<title>Contact Us</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div id="contact">
        <h3>Contact Us For Any Query</h3>
        <form method="POST" action="connectivity.php">
            Name
            <br>
            <input type="text" name="name">
            <br> Email
            <br>
            <input type="text" name="email">
            <br> Message
            <br>
            <textarea rows="10" cols="50" maxlength="100" name="message"></textarea>
            <br>
            <input type="submit" value="Send Message">
        </form>
    </div>
</body>
</html>

希望这有帮助

首先你会看到你的phpinfo:

<?php
    phpinfo();
?>

然后看到这里,php_mysql启用还是禁用?

如果没有php_mysql,请更改php.ini文件:取消注释extension=php_mysql.dll