Re: Re: Stuck trying to upload and grab file name
| From: | Karl DeSaulniers | Date: | Thu, 26 Jul 2012 02:46:01 +0000 |
| Subject: | Re: Re: Stuck trying to upload and grab file name | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-48365@lists.php.net to get a copy of this message | ||
Brad,
Try this and let me know if it worked. I'm curious.
$fileData = $_FILES['file'];
...
dbConnect();
mysql_select_db('mailList') or die(mysql_error());
$presql = "CREATE TABLE IF NOT EXISTS
".mysql_real_escape_string($memberID)." (id MEDIUMINT AUTO_INCREMENT PRIMARY KEY UNIQUE)";
$midsql = "ALTER TABLE ".mysql_real_escape_string($memberID)." ADD '".mysql_real_escape_string($fileData)."' VARCHAR(60)";
$sql = "LOAD DATA LOCAL INFILE '".mysql_real_escape_string($_FILES['tmp_name'])."' INTO TABLE ".mysql_real_escape_string($memberID)." FIELDS TERMINATED BY '\,' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY "\r\n" IGNORE 1 LINES";
...
Best,
Karl
$file On Jul 25, 2012, at 8:57 PM, Brad wrote:
That's a little presumptuous don't you think? I runs without error now but my test data is not in the database? array(1) { ["file"]=> array(5) { ["name"]=> string(14) "emailsTest.txt" ["type"]=> string(10) "text/plain" ["tmp_name"]=> string(14) "/tmp/phpkVycB6" ["error"]=> int(0) ["size"]=> int(61) } } Import of campaign emails sucessfull into mysql table. <?php var_dump($_FILES); //db connection require 'dbConnect.php'; //session file require_once('../auth.php'); function uploadList(){Karl DeSaulniers Design Drumm http://designdrumm.com$file = $_FILES["file"]; //var_dump($_FILES["file"]); $memberID = $_SESSION["SESS_MEMBER_ID"]; if ($file["type"] == "text/plain") { if ($file["error"] > 0) { echo "Return Code: " . $file['error'] . "<br /"; } else { dbConnect(); mysql_select_db('mailList') or die(mysql_error()); $tmp_name = $file["tmp_name"]; $presql = "CREATE TABLE IF NOT EXISTS(id MEDIUMINT AUTO_INCREMENT PRIMARY KEY UNIQUE)";{$memberID}$midsql = "ALTER TABLEVARCHAR(60)";{$memberID}ADD {$file}$sql = <<<EOF LOAD DATA LOCAL INFILE '{$tmp_name}' INTO TABLE'\\''{$memberID}FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BYLINES TERMINATED BY "\\r\\n" IGNORE 1 LINESEOF;//var_dump($sql); //echo '$sql'; mysql_query($presql); mysql_query($midsql); mysql_query($sql); //var_dump($sql); //echo '$sql'; if(mysql_error()) { echo(mysql_error()); } else { print('Import of campaign emails sucessfullinto mysql table.');} } } else { print('Invalid file type. Please make sure it is a textfile.');}} //var_dump($_FILES); uploadList(); ?> Brad Sumrall NYCTelecomm.com 212 444-2996 -----Original Message----- From: lists-php [mailto:replies-lists-d5y3-php@listmail.innovate.net] Sent: Wednesday, July 25, 2012 9:35 PM To: Brad Subject: RE: [PHP-DB] Re: Stuck trying to upload and grab file name Is this supposed to be what you submitted to mysql? I suspect not, as among things, it includes the returned mysql error. Sorry, but I don't think you get the basics of debugging code. I would suggest that you find someone who is willing to give you sample code and help you **off list** (this level of tutorial really doesn't belong on a mailing list). Good luck. ------------ Original Message ------------Date: Wednesday, July 25, 2012 09:24:53 PM -0400 From: Brad <nyctelecomm@gmail.com> To: 'lists-php' <replies-lists-d5y3-php@listmail.innovate.net> Subject: RE: [PHP-DB] Re: Stuck trying to upload and grab file name https://gist.github.com/3179723 array(1) { ["file"]=> array(5) { ["name"]=> string(14) "emailsTest.txt" ["type"]=> string(10) "text/plain" ["tmp_name"]=> string(14) "/tmp/phpepEKoj" ["error"]=> int(0) ["size"]=> int(61) } } string(188) " LOAD DATA LOCAL INFILE '/tmp/phpepEKoj' ALTER TABLE------------ End Original Message ------------ --PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php3ADD Array VARCHAR(60); FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY "\r\n" IGNORE 1 LINES" $sqlYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE3ADD Array VARCHAR(60); FIELDS TERMINATED BY ',' OPTIONALLY EN' at line 2 -----Original Message----- From: lists-php [mailto:replies-lists-d5y3-php@listmail.innovate.net] Sent: Wednesday, July 25, 2012 8:57 PM To: Brad Subject: RE: [PHP-DB] Re: Stuck trying to upload and grab file name No. What you have there is the dump *after* you've passed things to mysql -- including the mysql error. Look at what you are passing to mysql *before* you actually feed it to mysql. I suspect you are missing a mysql command terminator (semicolon) or two so you are running commands together. E.g., after the "load data" command -- but it's mostly impossible to tell without cleaner detail. Just as a general coding practice issue -- why are you trying to string that group of commands into one set that you dump to mysql in a single set. It would be much cleaner, and more controllable, to do the different mysql commands as separate statements. ------------ Original Message ------------Date: Wednesday, July 25, 2012 08:43:51 PM -0400 From: Brad <nyctelecomm@gmail.com> To: 'lists-php' Subject: RE: [PHP-DB] Re: Stuck trying to upload and grab file name I believe I was already doing that on line 33? https://gist.github.com/3179584 array(1) { ["file"]=> array(5) { ["name"]=> string(14) "emailsTest.txt" ["type"]=> string(10) "text/plain" ["tmp_name"]=> string(14) "/tmp/phpKsDHhS" ["error"]=> int(0) ["size"]=> int(61) } } string(188) " LOAD DATA LOCAL INFILE '/tmp/phpKsDHhS' ALTER TABLE------------ End Original Message ------------3ADD Array VARCHAR(60); FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY "\r\n" IGNORE 1 LINES" $sqlYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE3ADD Array VARCHAR(60); FIELDS TERMINATED BY ',' OPTIONALLY EN' at line 2 Brad -----Original Message----- From: lists-php [mailto:replies-lists-d5y3-php@listmail.innovate.net] Sent: Wednesday, July 25, 2012 8:31 PM To: Brad Subject: RE: [PHP-DB] Re: Stuck trying to upload and grab file name------------ Original Message ------------What you're showing isn't what I mean. What I'm suggesting is the actual mysql statement (in this case your ALTER line) so you can see *exactly* what you're passing to mysql. The mysql statement that you echo from your php code should be able to copied/pasted directly to the mysql command prompt. The above dump isn't that. - RichardDate: Wednesday, July 25, 2012 07:33:09 PM -0400 From: Brad <nyctelecomm@gmail.com> Subject: RE: [PHP-DB] Re: Stuck trying to upload and grab file name Switching it to -> ALTER TABLEEcho the statement out (after the variable substitutions have taken place), and then work with that at the mysql command line. You'll likely figure out the issue much faster (it might even be obvious from what gets displayed). - Richard Date: Wednesday, July 25, 2012 08:16:07 PM -0400 From: Brad <nyctelecomm@gmail.com> Unfortunately that has already been done and that exact method is what got me this far. I can visually confirm that I am calling on the correct names/variables. array(1) { ["file"]=> array(5) { ["name"]=> string(14) "emailsTest.txt" ["type"]=> string(10) "text/plain" ["tmp_name"]=> string(14) "/tmp/phpec4hX9" ["error"]=> int(0) ["size"]=> int(61) } } array(5) { ["name"]=> string(14) "emailsTest.txt" ["type"]=> string(10) "text/plain" ["tmp_name"]=> string(14) "/tmp/phpec4hX9" ["error"]=> int(0) ["size"]=> int(61) } $sqlYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE{$memberID}ADD {$tmp_name} VARCHAR(60); produces the same error. For the record $tmp_name is just gibberish and should not be the final column name. Brad3ADD Array VARCHAR(60); FIELDS TERMINATED BY ',' OPTIONALLY EN' at line 2 Brad