6. #!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
my $id = $field[0];
my $name = $field[1];
...
......
.........
}
8. #!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
先輩:
use strict してないでしょ?
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
よくないなー
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
my $id = $field[0];
my $name = $field[1];
...
......
.........
}
9. #!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
先輩:
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
これはuseしなくてOK
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
my $id = $field[0];
my $name = $field[1];
...
......
.........
}
10. #!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
my $id = $field[0];
先輩:
$DBHを返す関数を作れば、
my $name = $field[1]; 毎回connectを書く必要がないよね?
...
......
.........
}
11. #!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
my $id = $field[0];
my $name = $field[1];
...
先輩:
......
こりゃひどいなー。バインド変数使おうよ。
.........
}
13. #!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=?');
$sth->execute(12);
while (my @field = $sth->fetchrow_array()) {
my $id = $field[0];
my $name = $field[1];
... 先輩:
バインド変数ってのは、これ「?」のことだね
......
.........
}
14. #!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=?');
$sth->execute(12);
while (my @field = $sth->fetchrow_array()) {
my $id = $field[0];
my $name = $field[1];
... 先輩:
で、executeするときに該当する値を渡すんだよ
......
.........
}