my $dbh = DBI->connect("DBI:mysql:database=DBname;host=localhost", "user", "pwd", { RaiseError => 1 });
# ... 操作 ...
$dbh->disconnect();
my $sth = $dbh->prepare("INSERT INTO table_name (Name, region_id, inuse, url) VALUES (?, ?, ?, ?)");
$sth->execute($r_name, $t+1, 1, $r_url);
建議使用佔位符 ? 防止 SQL 注入。
my $table_key = $dbh->{mysql_insertid};
緊接在 execute() 之後呼叫。
my $sth = $dbh->prepare("SELECT id, name FROM table_name");
$sth->execute();
while (my $row = $sth->fetchrow_arrayref) {
printf "%s++%s\n", $row->[0], $row->[1];
}
RaiseError => 1 讓錯誤自動拋出異常,簡化錯誤處理prepare_cached 或批次 execute_array$dbh->begin_work、$dbh->commit、$dbh->rollback