Heim  >  Artikel  >  Backend-Entwicklung  >  MySQL – PHP importiert CSV-Dateiinhalte in die Datenbank

MySQL – PHP importiert CSV-Dateiinhalte in die Datenbank

不言
不言Original
2018-05-23 16:03:583032Durchsuche

Jetzt müssen wir alle Inhalte in der CSV-Datei lesen und in die Datenbank einfügen

Antwortinhalt:

Jetzt müssen wir alle Inhalte lesen und in die Datenbank einfügen csv-Datei in die Datenbank

Weitere Informationen finden Sie in der PHPExcel-Klassenbibliothek

$file = fopen('xxx.csv', 'r');
while($data = fgetcsv($file)) {
    $result [] = $data;
} 
//$result数组就是CVS的内容啦,把$result存到数据库就好。
fclose($file);

Verwenden Sie zuerst fgetcsv, um die CSV-Datei in ein Array zu konvertieren, und starten Sie dann die Transaktion , Schleifeneinfügung, Codebeispiel Wie folgt:

query('SET AUTOCOMMIT=0');
$db->query('START TRANSACTION');
foreach($arr as $row) {
    $stmt = $db->prepare('INSERT INTO posts (id, post_title, post_content) VALUES (?,?,?)');
    $stmt->bind_param('iss', $row[0], $row[1], $row[2]); //这里假设每行内容分别为ID,标题和内容
    $stmt->execute();
    //如果插入失败,改为更新
    if($stmt->affected_rows == 0 || $stmt->affected_rows == -1) {
        $stmt = $db->prepare('UPDATE posts SET post_title = ?, post_content = ? WHERE id = ?');
        $stmt->bind_param('ssi', $row[1], $row[2], $row[0]);
        $stmt->execute();
        if($stmt->affected_rows == 0 || $stmt->affected_rows == -1) {
            echo 'Import '.$row[0].' failed!'."\n";
        }
    }
}
$db->query('COMMIT');
$db->query('SET AUTOCOMMIT=1');
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn