return;
}
+ my $ph = "?";
+ if (ref($value) eq "HASH") {
+ for my $subkey (keys %$value) {
+ if (lc($subkey) eq "function") {
+ $ph = $value->{function};
+ $value = undef;
+ last;
+ }
+ }
+ }
+
+ my @params = defined $value
+ ? ($uid, $name, $value, $name, $value)
+ : ($uid, $name, $name);
+
my $sql = <<"EOSQL";
INSERT INTO users_param
(uid, name, value)
VALUES
- (?, ?, ?)
+ (?, ?, $ph)
ON DUPLICATE KEY UPDATE
- name = ?, value = ?
+ name = ?, value = $ph
EOSQL
my $dbh = $self->connect_db;
- my $rs = $dbh->do($sql, undef, $uid, $name, $value,
- $name, $value);
+ my $rs = $dbh->do($sql, undef, @params);
+
if (!defined $rs) {
$self->last_error($dbh->errstr);
}