perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 27
Click for quality!




11.02.2012 / 20:50

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragDatenbank-Insert verbessern
Seitenanfang
Hallo!

Kurz gefragt: Wie kann man
a) mehrere Inserts zusammen fassen?
b) den unten stehenden Code verbessern?

Ich habe einen Hash bestehend aus mehreren Verzeichnissen als Schlüssel und deren bereits selektierten Dateien.
Jetzt möchte ich gerne jede Datei in die Datenbank übernehmen.
(daraus folgt: den Hash den mir eine andere Funktion zurück liefert wird hier nicht benötigt)
Im Moment sieht das so aus:


sub insertFiles2Db {
my $dirsnContents = shift;
my $dbh = shift;
foreach my $aktDir (@{$dirsnContents}) {

foreach my $aktBild ( @{$dirsnContents->{$aktDir}} ) {

$aktBild = $aktDir . $aktBild;
my $sql = "INSERT INTO objektbilder SET objektID=1, ";
$sql .= "BildSrc=?";
$aktBild = $dbh->quote($aktBild);

my $sth = $dbh->prepare($sql);
my $rv = $sth->execute(($aktBild));
#print $rv;
} # /foreach aktBild

} # /foreach aktDir
} # /insertFiles2Db

Wie kann ich das jetzt mit einem geringeren Aufwand machen?
So muss ich bei 100 Dateien 100 Datenkbank-Operationen ausführen.
Das ödet nicht nur mich sondern auch die Datenbank an.
Außerdem habe ich da einen Schleife der Komplexität 2, das möchte ich gerne reduzieren (begebe mich gleich mal dran).
mfg pktm

Datum: 07.12.2004-20:29

Beitragre: Datenbank-Insert verbessern
Seitenanfang
Ziehe das prepare vor die Schleifen:

my $sql = "INSERT INTO objektbilder SET objektID=1, BildSrc = ?";
my $sth_insert = $dbh->prepare($sql) or die $dbh->errstr();
foreach(){
foreach(){
$sth_insert->execute($aktBild);
}
}

Du brauchst auch das ->quote() nicht, da Du den Platzhalter verwendest!

Datum: 08.12.2004-13:03

BeitragPlatzhalter und SQL-Sonderzeichen
Seitenanfang
Kann der für den PLatzhalter gedachte String (oder andersherum) denn eben durch diese Verwenusung des Platzhalters auch SQL-Sonderzeichen enthalten?
Anders formuliert: erfüllt dr Platzhalter auch die Funktion des $dbh->quote(); ?

Datum: 08.12.2004-22:36

Beitragre: Platzhalter und SQL-Sonderzeichen
Seitenanfang
Ja, genau das ist der Sinn der Platzhalter!

Datum: 09.12.2004-08:38

BeitragTrying to send some flowers to a friend
Seitenanfang
Hi! I am trying to send some flowers to a friend of mine who
lives in a little village called Anastasievskaja,
which i am told is between Krasnodar and Anapa (Russia).
Does anyone know who delivers flowers to such a small village for me?

Datum: 09.12.2004-03:04

Beitragsend some flowers
Seitenanfang

Hi, we've been trying to deliver flowers and grocery to
Georgia(Caucases) though www.asap.ru I am impressed they made it
possible the same day... though you know the situation there is
unstable. My friend in Georgia was extremely happy with the bouquet.
I have used American companies in the past and had problems with
delivery. I doubted they managed to make extra efforts to make it
possible so soon and the bouquet was exceptional. So, seems like they can
deliver to any place in Russia, CIS. Maybe
they serve villages too. So, suppose you should try them.
Good luck
Peter

Datum: 09.12.2004-06:54

-






-
-