Я создал форму в html, и мне хотелось бы, чтобы данные в форме были отправлены в базу данных mysql в XAMMP. Я создал базу данных, таблицу и файл connectivity.php, который управляет соединением с базой данных и вводом данных, но когда я пытаюсь получить следующую ошибку:
«Неустранимая ошибка: Ошибка при сбое: вызов неопределенной функции mysql_connect () в C: \ xampp \ htdocs \ example \ connectivity.php: 8 Трассировка стека: # 0 {main} выбрано в 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); ?>
PS: Я установил последнюю версию XAMMP (5.6.15)
$ con = mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, ## TABLE NAME ##) или 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>
Надеюсь это поможет
Firts вы видите свою phpinfo:
<?php phpinfo(); ?>
Тогда смотрите здесь, php_mysql
включен или отключен?
Если там нет php_mysql
, измените файл php.ini
: Uncomment extension=php_mysql.dll