簡體   English   中英

如何在PHP中使用HTML表單在MySQL中插入記錄

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

我已經在html中創建了一個表單,我希望將表單中輸入的數據發送到XAMMP中的mysql數據庫。 我創建了數據庫,表和管理與數據庫和數據條目的連接的connection.php文件,但是當我嘗試時,出現以下錯誤:

“致命錯誤:未捕獲的錯誤:調用C:\\ xampp \\ htdocs \\ example \\ connectivity.php:8中未定義的函數mysql_connect()堆棧跟蹤:#0 {main}拋出了C:\\ xampp \\ htdocs \\ example \\ connectivity。第8行的php”

我發布了我編寫的所有代碼。 有人知道我錯了嗎?

這是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)
);

最后,connection.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 =“在聯系人中插入INERT(contactName,contactEmail,message)VALUES('$ name','$ email','$ message')”; $結果= mysqli_query($ con,$ query);

首先,您會看到您的phpinfo:

<?php
    phpinfo();
?>

然后在這里看到, php_mysql是啟用還是禁用?

如果沒有php_mysql ,請更改php.ini文件:Uncomment extension=php_mysql.dll

如果您使用的是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>

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM