【问题标题】:Insert data from form into table not working, returns no error将表单中的数据插入表中不起作用,不返回错误
【发布时间】:2017-09-21 14:08:52
【问题描述】:

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

【问题讨论】:

    标签: php html mysql forms


    【解决方案1】:

    它不会返回错误,因为您没有检查 (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.";
    }
    

    您最好使用条件语句代替您的查询。

    另外,你有两次相同的条件语句。

    简而言之:

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

    【讨论】:

    • 抱歉浪费了您的时间,哈哈。我的愚蠢错误,应该已经意识到:) 我会在 10 分钟内将其标记为已回答。谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 2016-08-06
    • 2020-04-27
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2021-12-20
    相关资源
    最近更新 更多