Помогите избавиться от пустой строки в базе
Не раз наверное писалось но не нашел ответа.
Во время выполнения скрипта бобавляется пустая строка в базу - помогите от нее избавиться пожалуйста.
сам скрипт ниже - над степенью кривизны не смеяться!!!
(потомучто сам писал - тем более два дня)
#!/usr/bin/perl -w
print "Content-type: text/html\n\n";
use DBI;
my $dbh = DBI->connect("DBI:mysql:monitoring:localhost","root","") or die "nicht eaiaeoa: $DBI::errstr\n";
while ($as=<txt/*>) {
$agency=~s#.*/##;
$agency=~s#.txt##;
open (FILEE,"$as");
foreach $line (<FILEE>){
chomp $line;
my $sth = $dbh->do("INSERT INTO weblinks(name,link) VALUES ('$name','$link')");
($name,$link)= split (/;/,$line);
print "$name = $link<br>";
}
}
my $dbh->disconnect();
??? Это типа что-то по-русски?
У меня была такая проблема при попытке вставить в БД данные, содержащие русские символы. Причём SQL работал в кодировке latin1.
Решил свою проблему путём посыла запросов сразу после коннекта:
SET character_set_client='cp1251';
SET character_set_results='cp1251';
SET collation_connection='cp1251_general_ci';
Хотя... я так понимаю $link - это по-любому без русских символов. :-\
my $sth = $dbh->do("INSERT INTO weblinks(name,link) VALUES ('$name','$link')");
($name,$link)= split (/;/,$line);
print "$name = $link<br>";
заменил на
($name,$link)= split (/;/,$line);
my $sth = $dbh->do("INSERT INTO weblinks(name,link) VALUES ('$name','$link')");
print "$name = $link<br>";
и все поехало как положено