我对PHP几乎一无所知,大部分代码都是我的导师教我的。我正在使用正在运行的vertrigo服务器,但是当我提交数据时它说“未插入”时,我迷路了,我应该在代码中更改什么?或者我错误地设置了数据库?请帮忙。
<html>
<head>
<title></title>
</head>
<body>
<form name="employees" action="" method="POST">
<table border="1" align="center">
<tr>
<td> Employee ID </td>
<td> <input type="text" name="id">
</td>
</tr>
<tr>
<td> Status </td>
<td> Senior Manager <input type="radio" name="stat" value="Senior Manager">Manager<input type="radio" name="stat" value="Manager"> Senior Executive<input type="radio" name="stat" value="Senior Executive" >
</td>
</tr>
<tr>
<td> Salary </td>
<td> <select name="salary"> <option value="below 20,000">below 20,000</option> <option value="20,000-40,000">20,000-40,000</option> <option value="above 40,000">above 40,000</option> </select>
</td>
</tr>
<tr>
<td> Gender </td>
<td> Male <input type="radio" name="gender" value="Male"> Female <input type="radio" name="gender" value="Female">
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Enter Record">
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
$con = mysqli_connect("localhost", "root", "vertrigo", "employeedb");
if (isset($_POST['submit']))
{
$id = $_POST['id'];
$stat = $_POST['stat'];
$salary = $_POST['salary'];
$gender = $_POST['gender'];
$sql = "INSERT INTO employeetb(EmployeeID,Status,Salary,Gender)VALUES('$id','$stat','$salary','$gender')";
$query = mysqli_query($con, $sql);
if (!$query)
{
echo 'not inserted';
}
else
{
echo 'inserted';
}
}
?>
答案 0 :(得分:0)
也许你可以在插入数据库之前尝试在$ _POST值中使用mysqli_real_escape_string。类似的东西: -
$salary= mysqli_real_escape_string($con, $_POST['salary']);
查看此docx
答案 1 :(得分:-1)
在你的sql行中添加一些空格
你有这个
$sql="INSERT INTO employeetb(EmployeeID,Status,Salary,Gender)VALUES('$id','$stat','$salary','$gender')";
试试这个
$sql="INSERT INTO employeetb (EmployeeID,Status,Salary,Gender) VALUES ('$id','$stat','$salary','$gender')";