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

无法使用html表单和使用wamp的php插入数据,php,html,mysql,wamp64,Php,Html,Mysql,Wamp64,我试图使用php将数据从HTML表单插入数据库。我制作了两个文件,一个是html表单,另一个是PHP脚本。当我单击SubmitinHTML表单时,它会显示php代码。我正在为数据库使用wamp服务器。我把我的html文件放在C:/wamp64/www目录下,把html文件放在我的本地目录下。数据库表为: id int(11) fname varchar(30) 薪金(11)。Id不是自动递增的,它是主键 Html代码: <html> <body> <h2>E

我试图使用php将数据从HTML表单插入数据库。我制作了两个文件,一个是html表单,另一个是PHP脚本。当我单击SubmitinHTML表单时,它会显示php代码。我正在为数据库使用wamp服务器。我把我的html文件放在C:/wamp64/www目录下,把html文件放在我的本地目录下。数据库表为: id int(11) fname varchar(30) 薪金(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" id="submit" name="submit" value="Submit">
</form>

</body>
</html>

雇员资料
输入员工id:

输入名字:


输入员工工资:


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";
        }      
    }
?>

如果该值为false,则代码将不会成功生成任何输出:

if(isset($_POST['submit']))
这就是正在发生的事情,因为条件是错误的。表单有一个提交按钮,但该按钮的值没有
name
属性,因此不会发送到服务器:

<input type="submit" value="Submit">
对任何给定的代码分支进行某种指示总是一个好主意,即使只是在某个地方记录一些东西以便您可以看到发生了什么。如果指令代码这样做,代码将不会产生任何输出/结果,但正如您所发现的,它可能会让您不知道发生了什么



另一方面,这一点很重要,您的代码对SQL注入非常开放。您将需要。

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

if(isset($_POST['submit']))
这就是正在发生的事情,因为条件是错误的。表单有一个提交按钮,但该按钮的值没有
name
属性,因此不会发送到服务器:

<input type="submit" value="Submit">
对任何给定的代码分支进行某种指示总是一个好主意,即使只是在某个地方记录一些东西以便您可以看到发生了什么。如果指令代码这样做,代码将不会产生任何输出/结果,但正如您所发现的,它可能会让您不知道发生了什么



另一方面,这一点很重要,您的代码对SQL注入非常开放。你会想要的。

mysql\u connect
。。?真的。我也试过用mysqli_connect。结果相同。请不要使用字符串连接来生成SQL查询。查看准备好的语句以避免SQL注入
mysql\u connect
。。?真的。我也试过用mysqli_connect。结果相同。请不要使用字符串连接来生成SQL查询。请查看准备好的语句,以避免SQL注入尝试使用给定的名称和id,但结果仍然相同。@userhmp:您可以编辑问题以添加更新的代码吗?这里也可能有不止一个问题需要解决。如果您不熟悉调试web应用程序和PHP代码,那么这是一个很好的开始机会。另外,为了确保,我是否需要将html文件保存在www目录中?@userhmp:现在是开始调试的时候了。看看你的浏览器的调试工具。提交表单时,请检查在这些工具的“网络”选项卡中创建的条目。请求是否包含您期望的内容?反应如何?还要检查PHP服务器日志中的错误。有吗?确保已打开。在整个PHP代码中,添加
echo
语句以向客户端输出有用的信息。当您这样做时,您会观察到哪些信息?尝试给出名称和id,但结果仍然相同。@userhmp:您可以编辑问题以添加更新的代码吗?这里也可能有不止一个问题需要解决。如果您不熟悉调试web应用程序和PHP代码,那么这是一个很好的开始机会。另外,为了确保,我是否需要将html文件保存在www目录中?@userhmp:现在是开始调试的时候了。看看你的浏览器的调试工具。提交表单时,请检查在这些工具的“网络”选项卡中创建的条目。请求是否包含您期望的内容?反应如何?还要检查PHP服务器日志中的错误。有吗?确保已打开。在整个PHP代码中,添加
echo
语句以向客户端输出有用的信息。当你这样做时,你会观察到什么信息?