你好,我已经在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);
?>
2条答案
按热度按时间bjg7j2ky1#
我认为你的插入数据的查询在语法上是错误的。。。
必须将列名括在反勾号内,即(``)
r1zk6ea12#
你必须使用
mysqli_query
而不是mysql_query
:因为你已经通过mysqli连接了。