Hello all,
I'm trying to get a table from a text file with columns delimited by the "|"
sign and I can't do it right.
I've made a perl script that gets the file, parses it, and inserts the
variables into the table, but the problem is that the text contains
characters like " ' ?
I've tried using the $sth -> quote() function but it doesn't quote the
characters like "?".
For each question mark sign (?) found, mysql replaces it with "null".
I also tried using $sth -> execute("insert into table values(?,?,?)");
and $sth -> execute($var1, $var2, $var3); etc, but it gives me only errors.
Could you tell me if the following script is OK?
Note: It uses DBD::mysqlPP and not DBD::mysql, because only this module can
be used under Perl 5.8, but it should work the same.
#!/perl/bin/perl -w
use strict;
use DBI;
my $sth = DBI -> connect("dbi:mysqlPP:database=test;host=localhost",
'teddy', undef, {'RaiseError' => 1});
my $file = "f:/teddy/data/search/index_search.txt";
open (IN, $file);
while (<IN>) {
chomp;
my($url, $time, $titlet, $titlew, $desct, $descw, $keysw, $bodyw) = split
/\|/, $_;
$sth -> do("insert into search values(" . $sth -> quote($url) . "," .
$sth -> quote($time) . "," . $sth -> quote($titlet) . "," . $sth ->
quote($titlew) . "," . $sth -> quote($desct) . "," . $sth -> quote($descw) .
"," . $sth -> quote($keysw) . "," . $sth -> quote($bodyw) . ")");
}
#Thank you.
Teddy,
Teddy's Center: http://teddy.fcc.ro/
Email: [EMAIL PROTECTED]
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php