2016-09-23 2 views
0

ich vollständige CSV-Datei in Laravel Code hochzuladen versuche, sieht wie folgt ausSQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1148 Der verwendete Befehl wird mit dieser MySQL-Version nicht erlaubt

public function testfastupload(Request $request) 
{ 
    $file = Flag::where('imported','=','0') 
     ->orderBy('created_at', 'DESC') 
     ->first(); 

    $file_path = Config::get('filesystems.disks.local.root').'/'.$file->file_name; 

    $query = "LOAD DATA LOCAL INFILE '" . $file_path . "' 
    INTO TABLE testdb 
    (name, 
    phone, 
    dob, 
    addresse, 
    @created_at, 
    @updated_at) 
    SET created_at=NOW(),updated_at=null"; 

    DB::connection()->getpdo()->exec($query); 
} 

ich Störung erhalte wie folgt

SQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1148 Der verwendete Befehl mit dieser MySQL-Version ist nicht erlaubt

Ich habe auch installiert

sudo apt-get install php5-mysqlnd 

Der Fehlerbericht sieht wie folgt aus

bei PDO-> exec ('LOAD DATA LOCAL INFILE'/var/www/testUploadExcelApp/uploadExcel/storage/app/379ea12c68e382a438592b4da305a3c2 .csv 'INTO TABLE testdb (Name, Telefon, dob, addresse, @created_at, @updated_at) SET created_at = NOW(), updated_at = null') in ExcelhandellerController.php Linie 113

Kann jemand mir helfen aus?

Antwort

2

'options' => [PDO::MYSQL_ATTR_LOCAL_INFILE=>true], auf Ihre Verbindung in config/database.php hinzufügen. Dadurch wird die lokale infile Option aktivieren, die standardmäßig ausgeschaltet ist.

+0

hinzugefügt danach immer dieser Fehler 'PDO :: exec(): LOAD DATA LOCAL INFILE forbidden' – user2671011

Verwandte Themen