我创建了一个带有简单图像上传的表单(我以前使用过)和几个字段。我试图从这里获取数据插入我的mysql数据库,但这并不像希望的那样工作。我终于看不出任何错误。
<?php
error_reporting(E_ALL);
ini_set('error_reporting', 1);
require_once('../../includes/connection.inc.php');
if(isset($_POST['submit']))
{
$dir1 = '/xampp/htdocs/manchesterunited/img/teams/';
$file = $dir1 . basename($_FILES['file']['name']);
$name = $_FILES['file']['name'];
$temp = $_FILES['file']['tmp_name'];
move_uploaded_file($temp,$file);
mysqli_query($mysqli, "INSERT INTO league-table VALUES ('','".$_POST['team']."', '0','0','0','0','0','0','0','$name')");
}
?>
<!doctype html>
<html>
<head>
<title>Add team</title>
</head>
<body>
<a>Add Team To League</a>
<form action="add-team.php" method="POST" enctype="multipart/form-data">
<p><label for="file">Please select the team's badge: </label><input type="file" name="file"/></p>
<p><label for="team">Please enter the team:</label><input type="text" name="team"/></p>
<p><input type="submit" name="submit" value="Add"/></p>
</form>
<?php
if(isset($_POST['submit']))
{
echo "<br />Team has been added.";
}
?>
</body>
</html>
答案 0 :(得分:2)
它不会返回错误,因为您没有在以下位置检查(MySQL)错误:
INSERT INTO league-table
MySQL将其视为league
MINUS table
所以,将它包装在刻度
中INSERT INTO `league-table`
或者使用下划线重命名表名。
将or die(mysqli_error($mysqli))
添加到mysqli_query()
会让你有所了解。
您也可以使用SQL注入。使用准备好的声明。
但是,这个:
if(isset($_POST['submit']))
{
echo "<br />Team has been added.";
}
最好为查询使用条件语句。
另外,你有两次相同的条件陈述。
简而言之: