|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Sergey Nepsha 2:5083/82 26 Dec 2002 22:18:28 To : All Subject : SQL запрос ! --------------------------------------------------------------------------------
Данная функция обрабатывает поиск по базе.
sub process_search {
my $iam = param("isex");
my $partner = param("fsex");
my $strtage = param("sage");
my $endage = param("eage");
my $fcity = param("fcity");
my $fphoto = param("fphoto");
my $ficq = param("ficq");
my $fwww = param("fwww");
my $sorting = param("sorting");
my $tbl_info;
my $val;
my @condition;
my @placeholder;
my ($sth, $stmt, $col_list, $where);
my $count;
if(defined ($partner)) {
push (@condition, "sex = ?");
push (@placeholder, $partner);
}
if(defined ($strtage)) {
push (@condition, "age >= ?");
push (@placeholder, $strtage);
}
if(defined ($endage)) {
push (@condition, "age <= ?");
push (@placeholder, $endage);
}
if(defined ($fcity)) {
push (@condition, "city = ?");
push (@placeholder, $fcity);
}
if(defined ($fphoto)) {
push (@condition, "photo = ?");
push (@placeholder, $fphoto);
}
if(defined ($ficq)) {
$ficq = "";
push (@condition, "icq != ?");
push (@placeholder, $ficq);
}
if(defined ($fwww)) {
$fwww = "";
push (@condition, "www != ?");
push (@placeholder, $fwww);
}
if(defined ($sorting) && $sorting eq 'name') { $sorting = "fname"; }
else { $sorting = "date"; }
}
$col_list = "date, login, sex, age, city, photo, icq, www";
$where = "WHERE " . join (" AND ", @condition) if @condition;
$where = "" unless $where;
my $dbh = DBI->connect
("DBI:mysql:host=$host;database=$dbname",
"$dbuser", "$dbpass",
{PrintError => 0, RaiseError => 1});
$stmt = "SELECT $col_list FROM love_reg $where ORDER BY $sorting";
$sth = $dbh->prepare ($stmt);
$sth->execute(@placeholder);
$count = 0;
[skip]
}
Hо почему то он не работает , вот что пишет в логи, или это я глючу, но чтото
не могу найти ошибку :(
DBD::mysql::st execute failed: You have an error in your SQL syntax near '' at
line 1 at /home/devel/cgi-bin/fm.pl line 727.
DBD::mysql::st execute failed: You have an error in your SQL syntax near '' at
line 1 at /home/devel/cgi-bin/fm.pl line 727.
[Thu Dec 26 20:31:58 2002] [error] [client 192.168.68.36] Premature end of
script headers: /home/devel/cgi-bin/fm.pl
В чем может быть дело ?
--
XMMS: %s
--- tin/pre-1.4-19990216 ("Styrofoam") (UNIX) (Linux/2.4.18-3custom (i686))
* Origin: 68.net InterNetNews site (2:5083/82)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/12166cb826271.html, оценка из 5, голосов 10
|