Привет, я создал базу данных в myPHPadmin, и я пытаюсь отправить регистрационные данные туда через HTML-форму. Я создал файлы подключения для сервера и протестировал их. Он говорит, что я подключен к базе данных, но когда я использую форму для отправки данных, она не работает.
Это файл подключения и индексный код (тестирование, которое я подключил к базе данных:
<?php
function OpenCon()
{
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '0000';
$db = 'mydatabase';
$conn = new mysqli($dbhost, $dbuser, $dbpass, $db) or die ("Connect failed: %s\n". $conn -> error);
return $conn;
}
function CloseCon($conn)
{
$conn -> close();
}
?>
Это индексный файл. Когда я запустил его, он успешно соединил соединение.
<?php
include 'connection.php';
$conn = OpenCon();
echo "Connected Successfully";
CloseCon($conn);
?>
Я написал регистрационную форму в HTML и объединил ее с помощью метода действий, как указано ниже:
<form id='register-form' action="database/reg.php" method='post'>
<input type="text" maxlength="15" name="usr" placeholder="Username" required>
<input type="text" name="fname" placeholder="First Name" required>
<input type="text" name="lname" placeholder="Last Name" required>
<input type="email" name="mail" placeholder="Email" required>
<input type="password" name="psw" placeholder="Password" required>
<input type="password" placeholder="Re Password" required>
<button type='submit'> Εγγραφή</button>
Я обратил внимание на то, где разместить файлы (каталоги и т.д.). Но как только я ввожу данные, он отображает это (главным образом, файл PHP, который должен запускаться). Код PHP вместо окна предупреждения
Может ли кто-нибудь помочь мне или указать, что мне не хватает?
Это файл, обрабатывающий транзакцию:
<?php
include 'connection.php';
$a=$_POST["fname"];
$b=$_POST["lname"];
$c=$_POST["usr"];
$d=$_POST["psw"];
$e=$_POST["mail"];
$con = OpenCon();
$query="INSERT INTO users(firstname,lastname,username,password,email) VALUES ('$a','$b','$c','$d','$e')";
if(mysqli_query($con, $query)){
echo "<script>alert('Success') </script>";
}
CloseCon($con);
?>
Вы должны использовать mysqli_query
вместо mysql_query
:
if(mysqli_query($con, $query)) {
потому что вы подключились через mysqli.
Я думаю, что ваш запрос на вставку данных синтаксически неверен. Это должно быть так...
Вы должны заключить имя столбца внутри символа обратной ссылки, то есть ('')