2017-07-04 2 views
0

Es meine Datenbank ist:Wie hochzuladen. TXT-Dateien in eine Datenbank?

CREATE TABLE Persons (
ID int AUTO_INCREMENT, 
Father varchar(255) NOT NULL, 
Text varchar(255), 
PRIMARY KEY (ID)); 

Und es ist meine .txt-Datei: (NULL, '1', 'Text'), (NULL, '2', 'text'), (NULL, '3', 'text') ...

Ok funktioniert dies für mich jetzt:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "mydb"; 

try { 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$text_file = file_get_contents('newfile.txt'); 
    $sql = "INSERT INTO `Persons` (`ID`, `Father`, `Text`) VALUES".$text_file; 
    // use exec() because no results are returned 
    $conn->exec($sql); 
    echo "New record created successfully"; 
    } 
catch(PDOException $e) 
    { 
    echo $sql . "<br>" . $e->getMessage(); 
    } 

$conn = null; 
?> 

und jetzt, wie kann ich mehr tXT-Dateien, wie aus mehreren Ordnern oder nur einen Ordner hochladen?

+0

Welche Datenbank? Hast du irgendeinen Code zu zeigen? - übrigens müssen Sie die NULL-Werte loswerden – Eineki

+0

Nein, ich bin ziemlich neu, anstatt es zu schreiben, ich möchte Text in die Datenbank hochladen, das ist alles – David

+0

Mögliche Duplikate von [Einfügen von Blobs in MySql-Datenbanken mit PHP] (https://stackoverflow.com/questions/7052655/insert-blobs-in-mysql-databases-with-php) – Marged

Antwort

0

Probieren Sie es wie folgt aus:

$text_file = file_get_contents('myTextFile.txt'); 
$sql = "INSERT INTO Persons (ID,Father,Text)VALUES".$text_file; 

Dies geht nur, wenn Ihr Text-Datei hat nur dieser Inhalt Sie (NULL, '1', 'text'),(NULL, '2', 'text'),(NULL, '3', 'text') geschrieben.

Achten Sie auf die SQL-Injektion.

+0

Seine Tabellendeklaration gibt 'ID int NOT NULL' an – Eineki

Verwandte Themen