当我提交表格时,我有PHP注册表单,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>
答案 0 :(得分:1)
请看以下内容:
$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
。
修改强>
&#34;我有html注册表格,我提交表格的PHP代码apears&#34;
这是因为我在引用你之前所写的内容。您需要在安装了php / mysql并正确运行的http://localhost
的网络服务器上运行它。
另外,删除此'$password '
中的空格。那个空间算作一个角色。
(Re_fname,Re_lname,Re_mobile,Re_password)
Re_mobile
不匹配,并且您在VALUES中引用了电子邮件'$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');