我有一段代码将用户的输入插入数据库:
Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("DB status: connection failed: " . $conn->connect_error);
} else {
echo "DB status: connected";
}
?>
<html>
<h1>Add data</h1>
<form method="post">
<p>Name: <input type="text" name="name"></p>
<p>Goals scored in:</p>
<p>14/15 <input type="text" name="14"></p>
<p>15/16 <input type="text" name="15"></p>
<p>16/17 <input type="text" name="16"></p>
<p>17/18 <input type="text" name="17"></p>
<button type="submit" name="save">save</button>
</form>
<?php
$sql = "INSERT INTO `goals` (`Name`, `14/15`, `15/16`, `16/17`, `17/18`) VALUES ('".$_POST["name"]."', '".$_POST["14"]."', '".$_POST["15"]."', '".$_POST["16"]."', '".$_POST["17"]."')";
$result = mysqli_query($conn,$sql);
?>
问题是,当我第一次加载页面时,它已经向数据库发送了0。如何防止这种情况发生?
非常感谢您的帮助!
答案 0 :(得分:0)
将操作添加到表单,然后使用该操作发送sql查询。您可能还应该使用表单验证,要求填写一些字段,例如姓名。
<p>Name: <input type="text" name="name" required></p>
答案 1 :(得分:0)
在开始时添加以下代码以解决该问题:
if (isset($_POST['submit']))
{
}