カテゴリー
perl

useでライブラリを重複呼び出した場合

package abc;
use CGI;
・・・略
package def;
use CGI;


このようにuseで複数回モジュールを呼び出した場合はどうなるのか?

どうやらPerlは内部でuseしたライブラリ名を記憶していて、同じモジュールをuseしない(2回目のuseは無視)ようになっているので、二カ所(またはそれ以上)で同じモジュールをuseしても、全く問題無い。

カテゴリー
MySQL perl プログラミング

DBI & MySQLでカウントする

$COUNT = $dbh->selectrow_array("SELECT COUNT(*) FROM  `テーブル名` WHERE `カラム` = '条件'");
カテゴリー
MySQL perl

自分が追加した最新のauto_increment番号を取得する

$sql = "INSERT INTO `db_01` ( data1, data2 ) VALUES ( $data1, $data2 )";
$sth = $dbh->prepare( "$sql" );
$sth->execute();
$id = $sth->{mysql_insertid};

これで$idに「自分が追加した最新のauto_increment番号」が代入される

ただし下記のようにdoでは使えない。

$sql = "INSERT INTO `db_01` ( data1, data2 ) VALUES ( $data1, $data2 )";
$sth = $dbh->do( "$sql" );
$id = $sth->{mysql_insertid};