gpt4 book ai didi

php - 如何使用带有 HTML 表单的 PHP 在 MySQL 中插入记录

转载 作者:行者123 更新时间:2023-11-29 06:16:09 24 4
gpt4 key购买 nike

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

“ fatal error :未捕获错误:调用 C:\xampp\htdocs\example\connectivity.php:8 中的未定义函数 mysql_connect() 堆栈跟踪:#0 {main} throw in C:\xampp\htdocs\example\connectivity.php 在第 8 行”

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

这里是表单index.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)
);

最后是 connectivity.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);
?>

P.S: 我安装了最新版本的 XAMMP (5.6.15)

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

$query = "INSERT INTO contact(contactName,contactEmail,message)VALUES('$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>

希望对你有帮助

关于php - 如何使用带有 HTML 表单的 PHP 在 MySQL 中插入记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35813617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com