Schrift
[thread]3390[/thread]

Seltsamer Fehler bei $dbh->quote: & Hashreferenz (Seite 2)



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
pktm
 2004-01-04 17:47
#35844 #35844
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Also ich habe das mal ausprobiert.
Der Testcode liefert richtige Ergebnisse:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use DBI;
use DBD::mysql;

# ---- DBI
my $db_user = "";
my $db_password = "";
my $dsn = 'DBI:mysql:cms:localhost';  # datasourcename:  wenn myserver weggelassen wird,
                        # wird standardmäßig localhost verwendet.
my $db_attributes = { PrintError => 0, RaiseError => 0, "AutoCommit" => 1, }; # siehe Doku zu DBI
my $dbh = DBI->connect($dsn, $db_user, $db_password, $db_attributes)
or print("Error in connecting to $dsn", die => 1); # immer Returncodes und Fehler auswerten!!!

my $query = {
   neu_titel => "neu_titel",
   meta_keywords => "meta_keywords",
   description => "description",
   meta_page_topic => "pt",
   webseite => "webseite",
};

my $cmd = "";

my @params = qw( neu_titel meta_keywords description meta_page_topic webseite);
foreach( @params ){
   my $test = $query->{$_};
   $cmd .= $dbh->quote( $test ) . ", ";
}

print $cmd;

$dbh->disconnect();


Der richtige Code hingegen bringt wieder o.g. Fehler:
Code: (dl )
1
2
3
4
5
6
7
8
                        my @params = qw( neu_titel meta_keywords description meta_page_topic webseite);
                       #foreach( @params ){
                       #    my $test = $query->{$_};
                       #    $cmd .= $dbh->quote( $test ) . ", ";
                       #}
                       foreach( @params ){
                           $cmd .= $dbh->quote( $query->{$_} ) . ", ";
                       }


Saudumm würde ich sagen...

EDIT: Habe den Query übrigens mit identischen Werten durchgejagt.\n\n

<!--EDIT|pktm|1073231300-->
http://www.intergastro-service.de (mein erstes CMS :) )
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2004-01-03 03:51.