我的PHP代码和数据库有点问题。每当我刷新页面时,当我打开页面时,新的空行也被添加到数据库中,有什么问题?
<?php
if (isset($_POST)) {
$con = mysql_connect("localhost","dwarfmaster","");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_dwarfmaster", $con);
$name = $_POST['name'];
$release_year = $_POST['release_year'];
$publisher = $_POST['publisher'];
$genre = $_POST['genre'];
$sql = "INSERT INTO gamelist (name, release_year, publisher, genre)
VALUES
('$_POST[name]','$_POST[release_year]',
'$_POST[publisher]','$_POST[genre]')";
if (!mysql_query($sql, $con)) {
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
}
?>
答案 0 :(得分:1)
检查请求方法是否发布,请使用:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
if(isset($_POST))
将始终返回true
答案 1 :(得分:0)
您可以添加以下代码 - :
if(!empty(array_filter($ _ POST))){。 。用于将数据插入数据库的代码 从形式。 。 }
答案 2 :(得分:0)
if (isset($_POST))
将永远返回true!
尝试
if (isset($_POST['name'])&&isset($_POST['release_year'])
&&isset($_POST['publisher'])&&isset($_POST['genre']))
而是每次检查每个变量!
答案 3 :(得分:0)
或只是改变
if (isset($_POST))
到
if (isset($_POST['name']))