【问题标题】:php not showing any errors & not inserting values in databasephp没有显示任何错误&没有在数据库中插入值
【发布时间】:2020-07-29 07:07:32
【问题描述】:

当我点击插入按钮时,它没有将数据插入到我的主数据库中,也没有显示任何错误,请告诉我错误是什么,以便我解决。

<?php
require_once "header.php";
require_once "config.php";

require('SpreadsheetReader/php-excel-reader/excel_reader2.php');
require('SpreadsheetReader/SpreadsheetReader.php');

if (isset($_POST["import"]))
{
    $allowedFileType = ['application/vnd.ms-excel','text/xls','text/xlsx','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];

    if(in_array($_FILES["file"]["type"],$allowedFileType))
    {

        $targetPath = 'uploads/'.$_FILES['file']['name'];
        move_uploaded_file($_FILES['file']['tmp_name'], $targetPath);
        $Reader = new SpreadsheetReader($targetPath);

        $name = 0;
        $company = 0;
        $package = 0;
        $status = 0;
        $uploaddate = date("Y/m/d hh:mm:ss");

        $sheetCount = count($Reader->Sheets());
        try
        {

        for($i=0; $i<$sheetCount; $i++)
        {
            $Reader->ChangeSheet(1);
            foreach($Reader as $Row)
            {
                if(isset($Row[0])) {$name = mysqli_real_escape_string($link,$Row[0]);}
                if(isset($Row[1])) { 
                    $input = $Row[1];
                    $output = substr($input, -10); 
                    $mobile=intval($output);
                }


                if(isset($Row[2])) {$company=mysqli_real_escape_string($link,$Row[2]);}
                if(isset($Row[3])) {$package=mysqli_real_escape_string($link,$Row[3]);}
                if(isset($Row[4])) {$status=mysqli_real_escape_string($link,$Row[4]);}

                if (!empty($mobile)) 
                {
                    $query= "INSERT INTO MAINDATABASE (NAME, MOBILE, COMPANY, PACKAGE, STATUS, UPLOAD_DATE) 
                    VALUES ('".$name."','".$mobile."','".$company."','".$package."','".$status."','".$uploaddate."')";      
                    $result = mysqli_query($link, $query);


                    if (!empty($result)) {
                        $type = "success";
                        $message = "Excel Data Successfully Imported into Main Database";
                    } 
                    else{
                        $type = "error";
                        $message = "Problem in Importing Excel Data";
                    }
                }
            } 
        }
        }
        catch (Exception $E)
        {
            echo $E -> getMessage();
        }


        //DELETE DUPLICATES FROM MAINDATABASE BECAUSE ITS ALREADY ENQUIRY
        mysqli_query($link,"DELETE a.* FROM MAINDATABASE a INNER JOIN ENQUIRY b ON a.MOBILE = b.CLINT_MOBILE");
        //DELETE DUPLICATES RECORD BECAUSE ITS ALREADY A USER
        mysqli_query($link,"DELETE a.* FROM MAINDATABASE a INNER JOIN USERS b ON a.MOBILE = b.MOBILE");
        //DELETE DUPLICATES RECORDS FROM SAME TABLE
        mysqli_query($link,"DELETE t1 FROM MAINDATABASE t1, MAINDATABASE t2 WHERE t1.id > t2.id AND t1.MOBILE = t2.MOBILE");
        //ARRANGE PRIMARY KEY ID IN SEQUENCE
        mysqli_query($link,"ALTER TABLE MAINDATABASE DROP ID");
        mysqli_query($link,"ALTER TABLE MAINDATABASE AUTO_INCREMENT = 1");
        mysqli_query($link,"ALTER TABLE MAINDATABASE ADD ID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST");
    }
    else
    { 
        $type = "error";
        $message = "Error.. Please select Only Excel File format";
    }

mysqli_close($link);

}

?>

我认为这个问题出在我的 php 阅读器上,但我无法解决。我也想上传案例文件,但没有找到正确的方法。只要让我知道卡在哪里,我会解决我的问题。

【问题讨论】:

  • 你尝试回显 intval($output) 吗?
  • 你应该暂时放置一些 echo / print_r / var_dump 来找出那里没有工作
  • 了解 sql 注入以及准备和绑定查询的重要性
  • @KunalRaut 检查效果很好。应该没问题。

标签: php mysql insert


【解决方案1】:

我检查了所有内容,经过一些研究,我找到了答案。我的 phpexcelreader2 有一些错误,所以我将该库更改为新下载的库并且它可以工作。感谢各位朋友的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多