Hozzászólások
perlel mókázok újfent (ez egy zseniális cucc). sikerült beizzítani a webszervert a tengernyi felmerülő probléma ellenére (lásd: gentoo topic (bár ott csak egyet említettem, pedig igazából napok óta ezzel szopok)).
most már csak az érdekelne, hogyan lehetne perlel adatbázist (leginkább mysql-t) kezelni. dbi modult javasolják hozzá. vannak vele tapasztalataitok (nehéz szó)? esetleg néhány nagyon alap példát kaphatnék (csatlakozás, egyszerű lekérdezések, stb...)?
előre is köszi.
- A hozzászóláshoz be kell jelentkezni
http://search.cpan.org/~timb/DBI-1.48/DBI.pm
- A hozzászóláshoz be kell jelentkezni
[quote:96dad571a1="nihilist84"]perlel mókázok újfent (ez egy zseniális cucc). sikerült beizzítani a webszervert a tengernyi felmerülő probléma ellenére (lásd: gentoo topic (bár ott csak egyet említettem, pedig igazából napok óta ezzel szopok)).
most már csak az érdekelne, hogyan lehetne perlel adatbázist (leginkább mysql-t) kezelni. dbi modult javasolják hozzá. vannak vele tapasztalataitok (nehéz szó)? esetleg néhány nagyon alap példát kaphatnék (csatlakozás, egyszerű lekérdezések, stb...)?
előre is köszi.
a "perldoc" nevű ketyerét érdemes megtanulni használni, akár csak alap szinten is, ami annyit jelent, hogy "perldoc -q (kérdés)" és "perldoc -f (funkció)", valamint "perldoc (modul)". esetedben, miután - cpan-nal pl - feltetted a DBI és DBD::mysql modulokat, egy:
perldoc DBI
majd
perldoc DBD::mysql
mindkettőben találsz egy halom tippet és doksit. a DBI az tulajdonképp egy réteg, amin keresztül több RDBMS-t el tudsz érni (pl sqlite, postgres, mysql, sötöbö), legtöbben ezt használják mert egyszerű és kényelmes. a másik módja a mysql modul még, amivel azonban csak a mysql-re tudsz csatlakozni, ez a natív mysql modul. hogy a performance penalty mekkora, arról majd más szót ejt, fogalmam sincs, én legtöbbször a DBI féle mysql modullal ügyködök és soha nem volt még gondom vele. gyors és szép és kényelmes.
azt, hogy egy query lekérdezős folymat miképpen zajlik szintén a doksikból fogod megtudni, baromi egyszerű a legtöbb esetben és ha mod_perl alá akarod izzítani a témát, akkor jó ha kapásból az OOP féle hozzáállással kezded, azaz:
1 - (handle) my $dbh = DBI->connect(...)
2 - (prepare) my $sth = $dbh->prepare("SELECT * FROM foo");
3 - (execute) $sth->execute();
4 - (adatok) while (my $ref = $sth->fetchrow_hashref()) { print $ref->{'id'}, "\n"; } # ID-ket kinyomatod
5 - (disconnect) $dbh->disconnect();
(megj.: a példa érthetőségének kedvéért hash-ref-et kértem le)
4.5 - $sth->finish # ezt nem kell lekérned a legtöbb esetben, ezért tettem 4.5-ös helyre, a DBI manuáljából megtudod miért
a négyes fázis többféleképpen lehetséges, kinek mi esik kézre valamint mennyire számít esetben a performance sebessége. pl nem javasolt hash (vagy hashref) adattípust kérni, mert az lassítja a dolgokat (lásd a manualt miért van ez). ehelyett vagy arrayt kérsz, vagy array-ref-et.
a "perlref" manuálja szintén fontos téma, ha ennek még nem jártál utána akkor hajrá. eleinte nem tűnik túl hasznosnak, de később rájössz miért jó ez neked (pl bonyolult adatstuktúrákat passzolsz át a subroutine-nak egy halom változó helyett).
heh :) közben beírtam egy újabb sort és "dd"-t nyomtam... bazz mostanában túl sokat kódolok és totál be vagyok ragadva a vim-be. kell nekem egy browser amelyik a vim-et hozza be ha textarea-ba kell szöveget bevinnem...
no ennyi, remélem segít. sikert és sokat neked.
- A hozzászóláshoz be kell jelentkezni
hat igen, a manual es a google megint le van tiltva a gepeken, ugy latszik!
t
- A hozzászóláshoz be kell jelentkezni
köszönöm szépen, most már remekül megy. :)
- A hozzászóláshoz be kell jelentkezni