将表单中的数据插入表中不起作用,不返回任何错误

时间:2016-02-21 19:49:17

标签: php html mysql forms

我创建了一个带有简单图像上传的表单(我以前使用过)和几个字段。我试图从这里获取数据插入我的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>

1 个答案:

答案 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.";
}

最好为查询使用条件语句。

另外,你有两次相同的条件陈述。

简而言之:

  • 如果(查询)成功,则回显成功。
  • 否则,请进行错误处理。