提问者:小点点

无法使用html表单和使用wamp的php插入数据


我正在尝试使用PHP从HTML表单中插入数据到数据库中。我做了两个文件html表单和其他是PHP脚本。当我单击以html表单提交时,它显示给我php代码。我正在使用wamp服务器作为数据库。我将html文件放在C:/wamp64/www目录中,html文件放在本地目录中。数据库表为:id int(11)fname varchar(30)salary int(11)。Id不是自动递增的,它是主键。

Html代码:

<html>
<body>

<h2>Employee's Information</h2>

<form action="employee.php" method="POST">
  <label for="id">Enter employee id:</label><br>
  <input type="text" id="id" name="id" value=""><br>
  <label for="fname">Enter First name:</label><br>
  <input type="text" id="fname" name="fname" value=""><br><br>
  <label for="salary">Enter Employee Salary:</label><br>
  <input type="text" id="salary" name="salary" value=""><br><br>
  <input type="submit" value="Submit">
</form>

</body>
</html>

Php代码:

<?php
   
   $mysql_hostname="localhost"; 
   $mysql_username="root"; 
   $mysql_password=""; 
   $mysql_database="employee"; 

   $con=mysql_connect($mysql_hostname,$mysql_username,$mysql_password);
   
   if(!$con){
    die('Connection Error: '.mysql_error());
   }
   mysql_select_db($mysql_database, $con);
   if(isset($_POST['submit']))
   {
       $s_id = $_POST['id']; 
       $s_name = $_POST['fname']; 
       $salary = $_POST['salary']; 
       
       $employeeinsert = "INSERT INTO employee1(id, fname, salary) VALUES('".$s_id."','".$s_name."','".$salary."')";
       
       if(!mysql_query($employeeinsert,$con))
{
echo "Error: " .mysql_error($con);
}
else
{
echo "1 record added";
}      
   }
?>

代码在提交数据时既没有给出任何错误,也没有将数据插入数据库。我不明白错误是什么。


共1个答案

匿名用户

如果此值为false,则代码不会成功生成输出:

if(isset($_POST['submit']))

这就是现在的情况,因为条件是假的。表单有一个提交按钮,但该按钮没有name属性,其值不会发送到服务器:

<input type="submit" value="Submit">

为其指定名称:

<input type="submit" name="submit" value="Submit">

对任何给定的代码分支进行某种指示总是一个好主意,即使只是在某个地方记录一些内容,以便您可以看到正在发生的事情。如果代码是按照指令执行的,那么它将很高兴地不产生输出/结果,但是正如您所发现的,它可能不会给您留下关于发生了什么的信息。

顺便说一句,这一点很重要,您的代码对SQL注入是开放的。你会想要开始解决这个问题的。

相关问题