<?php // Populate a DB table previously created. // Thanks to: // https://www.tutorialspoint.com/sqlite/sqlite_php.htm // for a starting point // Class to open or create a DB file. The constructor takes a db name argument // This new class extends(uses) the standard SQLite3 libraries. class MyDB extends SQLite3 { function __construct($dbName) { $this->open($dbName); } } // Check if a filename argument was passed to us. If so do the work. // Otherwise politely complain. if (isset($argv[1]) and isset($argv[2])) { // Get the DB filename and the text filename $DBname = $argv[1]; $textName = $argv[2]; // Create a new instance of the MyDB class. Which will open/create the new DB file $db = new MyDB($DBname); // Check if it works by seeing if we got a database object. No complain. if(!$db) { // It did not open. Display the error. echo "Could not open: " . $db->lastErrorMsg() . "\n"; // It worked. Tell the user. } else { echo "Opened/created the database successfully.\n"; } // Open the .csv file $inFile = fopen ($textName, 'r'); // Continue if it opened OK. if ($inFile) { // unique numbers for ID field $id = 0; // Read lines of the file until end of file. while (! feof($inFile)) { $id++; $line = fgets($inFile); // If the line has data continue. The !feof only works after reading past the end. if ($line){ // Break the line up into its component parts. Create the SQL and insert the line into the DB list($subject, $date, $link) = explode('||', $line); echo "$id** $subject** $date** $link"; $sql = "insert into Issues (ID, Subject, Date, Link) Values ($id, '$subject', '$date', '$link')"; $stat = $db->exec($sql); // If this worked continue. if(!$stat) { echo $db->lastErrorMsg(); } else { echo "Record $id added\n"; } } } } // A DB or text filename was not supplied. Complain. } else { echo "Please enter a DB name and text file name to use.\n"; } ?>