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(){
$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
`{$memberID}`
(id MEDIUMINT AUTO_INCREMENT PRIMARY KEY UNIQUE)";
$midsql = "ALTER TABLE `{$memberID}` ADD
{$file}
VARCHAR(60)";
$sql = <<<EOF
LOAD DATA LOCAL INFILE '{$tmp_name}'
INTO TABLE `{$memberID}`
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'\\''
LINES TERMINATED BY "\\r\\n"
IGNORE 1 LINES
EOF;
//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
sucessfull
into mysql table.');
}
}
}
else
{
print('Invalid file type. Please make sure it is a text
file.');
}
}
//var_dump($_FILES);
uploadList();
?>
Brad Sumrall
NYCTelecomm.com
212 444-2996
-----Original Message-----
From: lists-php [mailto:replies-lists-d5y3-php@xxxxxxxxxxxxxxxxxxxxx]
Sent: Wednesday, July 25, 2012 9:35 PM
To: Brad
Subject: RE: 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@xxxxxxxxx>
To: 'lists-php' <replies-lists-d5y3-php@xxxxxxxxxxxxxxxxxxxxx>
Subject: RE: 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 `3`
ADD 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 TABLE `3` ADD Array VARCHAR(60); FIELDS TERMINATED BY ','
OPTIONALLY EN' at line 2
-----Original Message-----
From: lists-php
[mailto:replies-lists-d5y3-php@xxxxxxxxxxxxxxxxxxxxx] Sent:
Wednesday, July 25, 2012 8:57 PM
To: Brad
Subject: RE: 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@xxxxxxxxx>
To: 'lists-php'
Subject: RE: 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
`3`
ADD 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 TABLE `3` ADD Array VARCHAR(60); FIELDS
TERMINATED BY ',' OPTIONALLY EN' at line 2
Brad
-----Original Message-----
From: lists-php
[mailto:replies-lists-d5y3-php@xxxxxxxxxxxxxxxxxxxxx] Sent:
Wednesday, July 25, 2012 8:31 PM
To: Brad
Subject: RE: Re: Stuck trying to upload and grab file name
------------ Original Message ------------
Date: Wednesday, July 25, 2012 07:33:09 PM -0400
From: Brad <nyctelecomm@xxxxxxxxx>
Subject: RE: Re: Stuck trying to upload and grab file
name
Switching it to -> 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.
Brad
Echo 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@xxxxxxxxx>
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 `3` ADD Array
VARCHAR(60); FIELDS TERMINATED BY ',' OPTIONALLY EN'
at line 2
Brad
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.
- Richard
------------ End Original Message ------------
------------ End Original Message ------------
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Karl DeSaulniers
Design Drumm
http://designdrumm.com
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php