PHPでデータベースに正しく入力できない
別のプログラムで変数に値を渡して、その変数に入っている値(文字)をデータベースに入力するプログラムを作っています。
見ての通りCDのデータベースを作るプログラムです。
複雑なプログラムではないのですが
下記のようにプログラムを実行するとselect文で結果を確認した所
仮に繰り返し回数($t)が3だとして
A、A-2、A-3、A-4
B、B-2、B-3、B-4
C、C-2、C-3、C-4
となるはずが、上記と同じデータが
A、A-2、A-3、A-4
B、B-2、B-3、B-4
C、C-2、C-3、C-4
A、A-2、A-3、A-4
B、B-2、B-3、B-4
C、C-2、C-3、C-4
A、A-2、A-3、A-4
B、B-2、B-3、B-4
C、C-2、C-3、C-4
のように同じデータがそれぞれ2つずつ重複して入力されているのです。
2回目のprint文を見ると正しく表示されているのですが、データベースのほうは重複しているようです。
こちらに問題がないようなら変数受け渡しの部分も見せますので
どなたか問題を見つけてくださらないでしょうか。お願いします。
$DBSERVER = "localhost"; //MySQLサーバ名
$DBUSER = "root"; //ログインユーザ名
$DBPASSWORD = ""; //パスワード
$DBNAME = "cdb"; //データベース名
//MySQLに接続します
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
//MySQL読み込み時の文字コードを設定
mysql_query("set name sjis");
//データベースに接続します
$selectdb = mysql_select_db($DBNAME);
print("以下のデータを入力しました</BR>");
for($i=0;$i<$t-1;$i++){
$name=$cd[$i][0];/*array[]になるので入れ直し*/
$name=mb_convert_kana($name , "a","sjis");
$artist=$cd[$i][1];
$artist=mb_convert_kana($artist , "a","sjis");
$day=$cd[$i][2];
$record=$cd[$i][3];
$record=mb_convert_kana($record , "a","sjis");
$sql="insert into co2 values('0','$name','$artist','$day','$record')";
print("曲名: ".$name."</BR>"."歌手名: ".$artist."</BR>"."発売日: ".$day."</BR>"."レコード会社: ".$record."</BR></BR>");
mysql_query($sql);
}
お礼
ありがとうございました。 試しに二つのデータベースに接続してみたところ接続できました。 しかし、なんとなく一つのデータベースに切断していないまま、他のデータベースに接続するのはルール違反?なのかなぁって思ったり・・・。 でも、問題ないことが分かってありがとうございました。