sql >> データベース >  >> Database Tools >> phpMyAdmin

PHPで、csvファイルからテーブル名とフィールドを動的に取得し、MYSQLにインポートします

    私はこのコードを実装しました、そしてそれはテストされたコードです。とても使い勝手が良いと思います

    あなたはいくつかのルールに従っています:-

    1.データベーステーブル名に従ったcsvファイル(例:dbテーブル名はusersであり、csvはusers.csvである必要があります)

    2. csvファイルの最初の行は、データ入力の開始後のdbテーブルフィールド名(例:ID、名前など)である必要があります

    3.データソースクラスは次の場所からダウンロードできます:- http://code.google .com / p / php-csv-parser / コードの下にrequireがあるため:require_once'CSV / DataSource.php';

    <?php
    ini_set('memory_limit','512M');
    $dbhost = "localhost";
    $dbname = "excel_import";
    $dbuser = "root";
    $dbpass = "";
    
    $conn=mysql_connect ($dbhost, $dbuser, $dbpass) or die ("I cannot connect to the database because: " . mysql_error());
    mysql_select_db($dbname) or die("Unable to select database because: " . mysql_error());
    
    
    require_once 'CSV/DataSource.php';
    
    
    $filename = "users.csv";
    $ext = explode(".",$filename);
    $path = "uploads/".$filename;
    
    $dbtable = $ext[0];
    
    import_csv($dbtable, $path);
    
    
    function import_csv($dbtable, $csv_file_name_with_path)
    {
        $csv = new File_CSV_DataSource;
        $csv->load($csv_file_name_with_path);
    
        $csvData = $csv->connect();
    
        $res='';
        foreach($csvData  as $key)
        {
            $myKey ='';
            $myVal='';
            foreach($key as $k=>$v)
            {
                $myKey .=$k.',';
                $myVal .="'".$v."',";
              }
    
            $myKey = substr($myKey, 0, -1);
            $myVal = substr($myVal, 0, -1); 
            $query="insert into ".$dbtable." ($myKey)values($myVal)";
            $res=  mysql_query($query);
    
        }
    
        if($res ==1)
        {
    
                    echo "record successfully Import.";
    
        }else{
    
                    echo "record not successfully Import.";
        }
    }
    


    1. SQL Server Management Studioで列の値をNULLに設定するにはどうすればよいですか?

    2. テーブル「dbo.Foo」はすでに存在しているので、どうすれば解決できますか。テーブルが存在しない場合のエラー?

    3. phpmyadminにログインフォームを持つようにconfig.inc.phpを設定する方法

    4. フィールドmysqlから最初の20文字以降の文字を選択する方法