
gert at 3edge
May 12, 2012, 1:37 PM
Post #5 of 13
(260 views)
Permalink
|
> >> I just noticed that this returns the title of SKU 1234: > >> > >> [data table=products key=|001234| field=title] > > > > What happens if you do: > > [data table=products key=`'001234'` field=title] > > > >> Is this inherited from mysql or is it IC behavior? > > > > I'm guessing it's an IC thing, but I haven't looked at that particular > code. > > > > > > Peter > > Hi Peter, > > The behavior is the same. Should this be considered a bug? > > Talk to you soon, > Grant I've tried to reproduce it but seems I cannot ... Test with: mysql> describe custserv; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | csid | varchar(64) | NO | PRI | | | | category | varchar(64) | YES | | NULL | | | title | text | YES | | NULL | | +----------+--------------+------+-----+---------+-------+ mysql> select title from custserv where csid='00003'; +------------------------+ | title | +------------------------+ | lost username/password | +------------------------+ mysql> select title from custserv where csid='3'; +-----------+ | title | +-----------+ | testtitle | +-----------+ 1 row in set (0.00 sec) mysql> select title from custserv where csid=3; +------------------------+ | title | +------------------------+ | lost username/password | | testtitle | +------------------------+ 2 rows in set (0.00 sec) When I do the following test in a page, the results are: [data table=custserv key=|03| field=title] -> no result [data table=custserv key=|3| field=title] -> testtitle [data table=custserv key=|00003| field=title] -> lost username/password What version are you using of Mysql and Interchange? Does your lib/Vend/Table/DBI.pm have the following sub? sub field { my ($s, $key, $column) = @_; $s = $s->import_db() if ! defined $s->[$DBI]; $key = $s->[$DBI]->quote($key) unless exists $s->[$CONFIG]{NUMERIC}{$s->[$KEY]}; my $idx; if( $s->[$TYPE] and $idx = $s->column_index($column) ) { $column = $s->[$NAME][$idx]; } my $query = "select $column from $s->[$TABLE] where $s->[$KEY] = $key"; #::logDebug("DBI field: key=$key column=$column query=$query"); my $sth; eval { $sth = $s->[$DBI]->prepare($query); $sth->execute(); }; return '' if $@; my $data = ($sth->fetchrow_array())[0]; return '' unless $data =~ /\S/; $data; } CU, Gert _______________________________________________ interchange-users mailing list interchange-users [at] icdevgroup http://www.icdevgroup.org/mailman/listinfo/interchange-users
|