Reply to Re: why this load data infile doesn't work?

Your name:

Reply:


Posted by Al on 02/03/06 16:20

Erwin Moller wrote:
> Hi Johnny,
>
> >
> > <?php
> >
> > $table = "name of table here";
> > $file = "absolute path to file uploaded /" ;
> > $new_name = "list.csv"; // new name of the file uploaded
> >
> >
> > $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
>
> I do not understand the reason for this line/test.
> It always evalute to true, so $file_name will always be $new_name.
>
> Did you copy it from another file that needs this test?
>
>
> >
> >
> > $path = $file.$file_name ;
>
> OK, so path is now:absolute path to file uploaded/list.csv
>
>
> >
> >
> > if (copy($upfile, $path))
>
> What is $upfile?
> Udefined as far as I can see.
>
> > {
> > echo "upload Ok";
> >
> > } else {
> > echo "upload failed";
> > }
> >
> >
> > $sql = "LOAD DATA INFILE '$path' FIELDS INTO TABLE $table
> > (field1,field2) TERMINATED BY ';' LINES TERMINATED BY '\r\n' IGNORE 1
> > LINES " or die();
>
> You just create a string here.
> Why add or die(); ???
>
> I would advise you to put a few echo's in your script to check if the values
> you use contain what you expect them to contain.
> For starters: The name of an uploaded file in the tempdirectory is not the
> filename specified by the sender.
>
> Regards,
> Erwin Moller


Yeah, basically I don't think your filecopy is actually working.
Assuming you're relying on $upfile to be automatically globaled from
the $_FILES upload, then I still don't think just using copy() works
like that. You need to give copy() the filename, not the array
containing the file's details (which $upfile is if register_globals is
on).

Also, as Erwin said, you never actually execute an SQL query, you just
make the string.

You need something more like:

$sql = "LOAD DATA INFILE '$path' FIELDS INTO TABLE $table
(field1,field2) TERMINATED BY ';' LINES TERMINATED BY '\r\n' IGNORE 1
LINES";

$result = mysql_query($sql) or die("Query failed");

See http://uk.php.net/manual/en/function.mysql-query.php for examples
on executing SQL statements (and slightly better ways of dealing with
query failure.)

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация