[英]html form, PHP insert data into database not working?
当我提交表单时,我有HTML注册表单,PHP代码出现并且数据没有插入数据库,我使用phpMyAdmin创建了数据库,我该怎么办?
这是我的PHP代码:
<?php
$con=mysqli_connect('localhost','root','');
$db=mysqli_select_db($con,'research_sys');
if ($con) {
echo "good";
}else {
die('error');
}
if(isset($_POST['submit'])){
$Fname = mysqli_real_escape_string($con,$_POST["Fname"]);
$Lname = mysqli_real_escape_string($con,$_POST["Lname"]);
$email = mysqli_real_escape_string($con,$_POST['email']);
$password = mysqli_real_escape_string($con,$_POST['password']);
$sql = mysqli_query($con,"INSERT INTO `research_sys`.`researcher` (Re_fname,Re_lname,Re_mobile,Re_password) values ('$Fname','$Lname','$email','$password ')");
if (mysqli_query($sql)){
echo "insert";
} else {
echo "error" .$sql ."<br>". mysqli_error($con);
}
}
?>
这是我的注册HTML代码
<form method="post" action="connect.php">
<legend class="center">Register </legend>
<br>
<div>
<input type="text" name="Fname" placeholder="First Name"/>
</div>
<div>
<input type="text" name="Lname" placeholder="Last Name"/>
</div>
<div>
<input type="text" name="email" placeholder="Email"/>
</div>
<div>
<input type="password" name="password" placeholder="Password"/>
</div>
<div>
<input type="password" name="con_password" placeholder="Password confirm"/>
</div>
<input type="submit" name="submit" value="submit"/>
</form>
请看以下内容:
$sql = mysqli_query($con,"INSERT INTO `research_sys`.`researcher`
^^^^^^^^^^^^ function
(Re_fname,Re_lname,Re_mobile,Re_password)
values ('$Fname','$Lname','$email','$password ')");
^ space
if (mysqli_query($sql)){
^^^^^^^^^^^^ function
您两次使用该mysqli_query()
函数,删除其中一个,然后执行以下操作:
if ($sql){...}
和mysqli_error($con)
应该向您抛出了一个错误。
如果没有引发错误,则可能表明您将其用作file:///
而不是http://localhost
。
编辑:
“我有html注册表格,但我提交了php代码apears表格”
那是因为我在引用您之前在上面写的内容。 您需要在安装了php / mysql并正常运行且以http://localhost
的Web服务器上运行此服务器。
另外,删除此'$password '
中的空格。 该空格算作字符。
(Re_fname,Re_lname,Re_mobile,Re_password)
的Re_mobile
和引用的是电子邮件'$email'
的价值观。 您似乎还存储纯文本密码; 否 ,如果您打算与此一起生活,那是不安全的。 使用password_hash()
和准备好的语句。
脚注:
$con=mysqli_connect('localhost','root','');
$db=mysqli_select_db($con,'research_sys');
您可以将其缩短为在mysqli_connect()
使用所有4个参数:
$con=mysqli_connect('localhost','root', '', 'research_sys');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.