Re: [PHP-DB] CSV TO MYSQL
Are you running php3 or php4? 'foreach' was added in php4, which might explain your error. If you're running php3, try replacing that line with: while(list($key,$email) = each($emails)) { I don't know if this works in php3 or not, but would be worth a shot. Rupert L. Hussey wrote: > Hi Chris > I get the following error when I try your script: > Parse error in e:\myserver\www\maildump\dump2.php on line 3 > > Here is a copy of the script I am using...this may help some. An additional > problem it has is that it is limited to 30 entries. Which is probably not > efficient if you have a few hundred email address to transfer. > > Rupert > > --- It is GNU Licensed so no sweat --- > > > MyCSV-Dump for PHP > > > > /* script configuration */ > $dbname= "news"; // define database name > $datetime = strftime('%d%m%Y'); // dateformat > $filename_input = "addresses.txt"; // filename of input CSV file > $filename_output = $dbname . ".sql"; // sample output filename: > "test_16062001.sql" > $debug_input = "yes"; // yes = show file input > $debug_output = "yes"; // yes = show generated SQLquery > $seperator = ";"; // symbol used as CSV field seperator > > /* output html page header */ > $htmlheader = ""; > $htmlheader .= "# MyCSV-Dump for PHP 1.0"; > $htmlheader .= "# by Thomas Fröhlich ([EMAIL PROTECTED])"; > $htmlheader .= "# "; > $htmlheader .= "# Dumping data for table '" . $dbname . "' from file '" . > $filename_input . "'"; > $htmlheader .= ""; > echo $htmlheader; > > /* read file */ > $fcontents = file ($filename_input); > > /* process each single line */ > while (list ($line_num, $line) = each ($fcontents)) { > > /* debug info (input) */ > if ($debug_input == 'yes') { >echo "Line $line_num: " . htmlspecialchars($line) . > ""; > } > > /* seperate line into array */ > $without_space = trim (chop ($line)); > $ln = explode ($seperator, $without_space); > > /* construct SQL query (max 30 entries - add more if you wish) */ > $sqlquery = 'INSERT INTO ' . $dbname . ' VALUES ('; // INSERT INTO test > VALUES("1","0","abc"); > if ($ln[0]) { $sqlquery .= ',"' . $ln[0] . '"'; } > if ($ln[1]) { $sqlquery .= ',"' . $ln[1] . '"'; } > if ($ln[2]) { $sqlquery .= ',"' . $ln[2] . '"'; } > if ($ln[3]) { $sqlquery .= ',"' . $ln[3] . '"'; } > if ($ln[4]) { $sqlquery .= ',"' . $ln[4] . '"'; } > if ($ln[5]) { $sqlquery .= ',"' . $ln[5] . '"'; } > if ($ln[6]) { $sqlquery .= ',"' . $ln[6] . '"'; } > if ($ln[7]) { $sqlquery .= ',"' . $ln[7] . '"'; } > if ($ln[8]) { $sqlquery .= ',"' . $ln[8] . '"'; } > if ($ln[9]) { $sqlquery .= ',"' . $ln[9] . '"'; } > if ($ln[10]) { $sqlquery .= ',"' . $ln[10] . '"'; } > if ($ln[11]) { $sqlquery .= ',"' . $ln[11] . '"'; } > if ($ln[12]) { $sqlquery .= ',"' . $ln[12] . '"'; } > if ($ln[13]) { $sqlquery .= ',"' . $ln[13] . '"'; } > if ($ln[14]) { $sqlquery .= ',"' . $ln[14] . '"'; } > if ($ln[15]) { $sqlquery .= ',"' . $ln[15] . '"'; } > if ($ln[16]) { $sqlquery .= ',"' . $ln[16] . '"'; } > if ($ln[17]) { $sqlquery .= ',"' . $ln[17] . '"'; } > if ($ln[18]) { $sqlquery .= ',"' . $ln[18] . '"'; } > if ($ln[19]) { $sqlquery .= ',"' . $ln[19] . '"'; } > if ($ln[20]) { $sqlquery .= ',"' . $ln[20] . '"'; } > if ($ln[21]) { $sqlquery .= ',"' . $ln[21] . '"'; } > if ($ln[22]) { $sqlquery .= ',"' . $ln[22] . '"'; } > if ($ln[23]) { $sqlquery .= ',"' . $ln[23] . '"'; } > if ($ln[24]) { $sqlquery .= ',"' . $ln[24] . '"'; } > if ($ln[25]) { $sqlquery .= ',"' . $ln[25] . '"'; } > if ($ln[26]) { $sqlquery .= ',"' . $ln[26] . '"'; } > if ($ln[27]) { $sqlquery .= ',"' . $ln[27] . '"'; } > if ($ln[28]) { $sqlquery .= ',"' . $ln[28] . '"'; } > if ($ln[29]) { $sqlquery .= ',"' . $ln[29] . '"'; } > $sqlquery .= ');'; > $sqlquery .= "\n"; // new line > > /* debug info (output) */ > if ($debug_output == 'yes') { > echo $sqlquery; > } > > /* save SQL query to file (append) */ > if(file_exists($filename_output)) { // if file exists, only append sql > query > $save = fopen ($filename_output, "a"); > fputs($save, $sqlquery); > flock($save,3); > fclose($save); > $save_status = "append"; > } > else { // if file does not exist, write a txt header first > $sqlheader = "# MyCSV-Dump for PHP 1.0\n"; > $sqlheader .= "# written by [EMAIL PROTECTED]\n"; > $sqlheader .= "# --\n\n\n\n"; > $sqlheader .= "#\n"; > $sqlheader .= "# Dumping data for table '" . $dbname . "'\n"; > $sqlheader .= "#\n\n\n"; > > $save = fopen ($filenam
RE: [PHP-DB] CSV TO MYSQL
Don't forget you can just as easily replace the ; with any character you may be separating the email addresses using (for instance a comma) Ryan -Original Message- From: Chris Hobbs [mailto:[EMAIL PROTECTED]] Sent: Monday, August 27, 2001 11:16 PM To: PHP-DB List Subject: Re: [PHP-DB] CSV TO MYSQL How about this: Rupert wrote: > Ok, this is my issue - hope someone can help. Suppose I also need to get > this out of the way too - I am a Newbie (god..I hate that word...but it's > true.grin!) > > Anyway, I have a list of email address that I want to dump into a database > called (news) - eg. > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED] > etc.. > I separated them with (;'s) like so - [EMAIL PROTECTED]; [EMAIL PROTECTED]; > [EMAIL PROTECTED]; [EMAIL PROTECTED]; etc.. > (I suppose I could use commas instead - no prob there) > This is what I want to accomplish: > Each email address is a separate entry that needs to be downloaded into the > database. > Just like this: > # > # > # Table structure for table 'news' > # > CREATE TABLE news ( > email char(255) NOT NULL, > PRIMARY KEY (email), > UNIQUE email (email) > ); > # > # Dumping data for table 'news' > # > INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); > INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); > INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); > INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); > INSERT INTO news VALUES ( 'etc..'); > > I have a script that gets me to this point: > INSERT INTO news VALUES (,"[EMAIL PROTECTED]"," [EMAIL PROTECTED]"," > [EMAIL PROTECTED]","[EMAIL PROTECTED]","etc.."); > But that is not what I want. I can attach the script for analysis or if > anyone has a better idea. I would appreciated it very > much. Thanks.. > Rupert > > > > > -- Chris Hobbs Silver Valley Unified School District Head geek: Technology Services Coordinator webmaster: http://www.silvervalley.k12.ca.us/~chobbs/ postmaster: [EMAIL PROTECTED] -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED] -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP-DB] CSV TO MYSQL
How about this: Rupert wrote: > Ok, this is my issue - hope someone can help. Suppose I also need to get > this out of the way too - I am a Newbie (god..I hate that word...but it's > true.grin!) > > Anyway, I have a list of email address that I want to dump into a database > called (news) - eg. > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED] > etc.. > I separated them with (;'s) like so - [EMAIL PROTECTED]; [EMAIL PROTECTED]; > [EMAIL PROTECTED]; [EMAIL PROTECTED]; etc.. > (I suppose I could use commas instead - no prob there) > This is what I want to accomplish: > Each email address is a separate entry that needs to be downloaded into the > database. > Just like this: > # > # > # Table structure for table 'news' > # > CREATE TABLE news ( > email char(255) NOT NULL, > PRIMARY KEY (email), > UNIQUE email (email) > ); > # > # Dumping data for table 'news' > # > INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); > INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); > INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); > INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); > INSERT INTO news VALUES ( 'etc..'); > > I have a script that gets me to this point: > INSERT INTO news VALUES (,"[EMAIL PROTECTED]"," [EMAIL PROTECTED]"," > [EMAIL PROTECTED]","[EMAIL PROTECTED]","etc.."); > But that is not what I want. I can attach the script for analysis or if > anyone has a better idea. I would appreciated it very > much. Thanks.. > Rupert > > > > > -- Chris Hobbs Silver Valley Unified School District Head geek: Technology Services Coordinator webmaster: http://www.silvervalley.k12.ca.us/~chobbs/ postmaster: [EMAIL PROTECTED] -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
[PHP-DB] CSV TO MYSQL
Ok, this is my issue - hope someone can help. Suppose I also need to get this out of the way too - I am a Newbie (god..I hate that word...but it's true.grin!) Anyway, I have a list of email address that I want to dump into a database called (news) - eg. [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] etc.. I separated them with (;'s) like so - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; etc.. (I suppose I could use commas instead - no prob there) This is what I want to accomplish: Each email address is a separate entry that needs to be downloaded into the database. Just like this: # # # Table structure for table 'news' # CREATE TABLE news ( email char(255) NOT NULL, PRIMARY KEY (email), UNIQUE email (email) ); # # Dumping data for table 'news' # INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); INSERT INTO news VALUES ( '[EMAIL PROTECTED]'); INSERT INTO news VALUES ( 'etc..'); I have a script that gets me to this point: INSERT INTO news VALUES (,"[EMAIL PROTECTED]"," [EMAIL PROTECTED]"," [EMAIL PROTECTED]","[EMAIL PROTECTED]","etc.."); But that is not what I want. I can attach the script for analysis or if anyone has a better idea. I would appreciated it very much. Thanks.. Rupert -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]