Schrift
[thread]10785[/thread]

mysql select rückgabe



<< >> 5 Einträge, 1 Seite
Gast Gast
 2007-11-12 22:53
#102311 #102311
Hallo zusammen,

möchte folgenden sql befehl in perl umsetzen

Code: (dl )
1
2
3
4
5
6
7
8
9
SELECT ID
FROM `Karten_ID`
WHERE `Edition` = CONVERT( _utf8 'boo'
USING latin1 )
COLLATE latin1_swedish_ci
AND `Kartenname` = CONVERT( _utf8 'mirrodin'
USING latin1 )
COLLATE latin1_swedish_ci
LIMIT 0 , 30


bin bis
Code (perl): (dl )
1
2
$sth = $dbh->prepare(qq{SELECT ID FROM Karten_ID WHERE Edition='?' AND Kartenname='?'});
$sth->execute($2,$1);


gekommen, aber wo speichert perl das ergebnis? in $_ ?
Gast Gast
 2007-11-12 22:54
#102312 #102312
oder kann ich das so lösen
Code (perl): (dl )
1
2
3
4
$sth = $dbh->prepare(qq{SELECT ID FROM Karten_ID WHERE Edition='?' AND Kartenname='?'});
$sth->execute($2,$1);
my @Ergebnis= $sth->fetchrow_array()) {
$Karten_ID= $Ergebnis[0];
Siechfred
 2007-11-13 09:35
#102323 #102323
User since
2007-11-12
30 Artikel
BenutzerIn
[default_avatar]
Du kannst das grundsätzlich so lösen, allerdings ist das Standardvorgehen ein while-Loop:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
my $handle = $sth->execute(...);
if( !$sth->rows ) {
  print "Keine Ergebnisse.";
}
else {
  while( my @row = $handle->fetchrow_array ) {
    print "Aktueller Datensatz: @row\n";
  }
}


Du solltest nie von dem, was Du erwartest, darauf schließen, was Du bekommst. Falls die Datenbankabfrage wider Erwarten nicht genau einen Datensatz liefert, wird Dein Code schon schiefgehen.

HTH
Siechfred
Gast Gast
 2007-11-13 16:25
#102365 #102365
danke, wobei meine Variante auch kein Ergebnis geliefert hat.
nepos
 2007-11-13 16:56
#102368 #102368
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Was steht denn da, wenn du mit Data::Dumper die Rückgabe von fetchrow_array ausgibst?
<< >> 5 Einträge, 1 Seite



View all threads created 2007-11-12 22:53.