Schrift
[thread]3830[/thread]

DBI-CSV: Syntax INSERT

Leser: 1


<< >> 3 Einträge, 1 Seite
Kean
 2007-07-23 19:15
#35571 #35571
User since
2004-08-18
463 Artikel
BenutzerIn

user image
Ich bin dabei ein Programm auf DBI-CSV umzustellen, verstehe aber die Syntax beim Einfügen von Datensätzen nicht.

Hier die Syntax, die auch funktioniert:

Code: (dl )
1
2
3
4
5
6
use DBI;
$dbh = DBI->connect("DBI:CSV:f_dir=.")
or die "Cannot connect: " . $DBI::errstr;
$dbh->do("INSERT INTO $table VALUES (?, ?)", undef,
2, "It's a string!");
$dbh->disconnect();


Habe meine Probleme mit dem Teil (?, ?)", undef,

Ich kenne das von SQL so:

Code: (dl )
"INSERT INTO $table (id,name) VALUES (1,'Kean')"


Aber für was steht das undef und die ?
nepos
 2007-07-23 19:26
#35572 #35572
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Eigentlich ganz einfach. Die beiden ? sind Platzhalter, an deren Stellen die eigentlichen Daten dann vom DBI-Modul eingesetzt werden, nachdem sie entsprechendes Escaping durchlaufen haben.
Wenn du dir die Doku von DBI ansiehst, dann wirst du sehen, dass do()an 2. Stelle der Parameter einen Hash haben will. Über diesen Hash könnte man noch spezielle Dinge mitgeben, was man aber meistens nicht braucht. Wenn man dann an 3. und folgender Stelle die eigentlichen Werte übergeben will, dann muss natürlich an der Stelle, wo der Hash erwartet wird auch was stehen. Deshalb hier einfach das undef.
renee
 2007-07-23 19:29
#35573 #35573
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zu den Fragezeichen bitte auch diesen Wiki:Artikel lesen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 3 Einträge, 1 Seite



View all threads created 2007-07-23 19:15.