Ajax表单同时将插入值上传到MySQL

时间:2018-04-10 16:29:16

标签: php jquery mysql ajax

PHP让我疯狂......

我有一个带有一些输入的表单。其中一个包含图像。我试图将图像上传到服务器(可以工作)并同时将表单的值插入到MySQL数据库中。

$("#summaryForm")
.on('submit', function (event) {
    event.preventDefault();
    var file_data = $('#message-file').prop('files')[0];
    var form_data = new FormData();
    form_data.append('file', file_data);
    $.ajax({
        url: 'upload.php',
        dataType: 'text', 
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,
        type: 'post',
        success: function (output) {
            alert(output);
        }
    });
});

这是修剪过的PHP部分:

if(isset($_REQUEST))
    {
        $con = mysqli_connect(HOST,USERNAME,PASSWORD,DB);

        $lat=$_POST['message-lat'];
        $sql="INSERT INTO data (lat) VALUES ('$lat')";
        $result=mysqli_query($sql);
        if($result){

        }
        else {
            echo "Error: " . $sql . "<br>" . mysqli_error($con);
        }
    }

    if ( $_FILES['file']['error'] > 0 ){
        echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    }
    else {
        if(move_uploaded_file($_FILES['file']['tmp_name'], 'images/' . $_FILES['file']['name']))
        {

        }
    }

HTML:

<form id="summaryForm" method="post" enctype="multipart/form-data" action='upload.php' autocomplete="off">
 <input id="message-lat" name="message-lat" type="text"/>
 <input type="file"  data-clear-btn="false" name="image" accept="image/*" capture class="hiddenfile" id="message-file">
 <input type="submit" name="send" value="Submit">
  </form>

图片上传正确,但没有插入数据库。

我该怎么办?

0 个答案:

没有答案