【PHP+Mysql】データの挿入INSET INTO

初歩の初歩から勉強をやり直してます。
んで、今はphpからmysqlにデータを挿入して予定帳みたいなの作ろうとしてます。

ほいで今日はINSERT文を書きました。
疑問をスッキリさしたので、書きます。


require_once("connect.php");

$sql = "";
$sql = "SELECT * FROM task";

$res = mysql_query($sql,$con);

$numFields = mysql_num_fields($res);
$nameFields = array();

//ここでフィールドの配列を作成
for($i=0; $i<$numFields; $i++)
	{
		$nameFields[] =  mysql_field_name($res, $i);
	}

//データの漏れが無い用にさっきのフィールド配列をループ
foreach($nameFields as $val)
	{
		switch($val)
			{
				case gaiyou :
				$sql = "";
				$sql = 'INSERT INTO task('.$val.',';
				$sql_i = 'VALUE("'.$_POST[$val].'",';
				break;

				case ar_time :
				$sql .= ''.$val.',';
				$sql_i .= '"'.$_POST['time'].'",';
				break;

				case comment :
				$sql .= ''.$val.') ';
				$sql_i .= '"'.$_POST[$val].'");';
				$in_sql = mysql_query($sql.$sql_i);
				break;

			}
	}



で、caseごとに

$sql = INSERT INTO task();
$sql = VALUE();
$sql .= INSERT INTO task();
$sql .= VALUE();

って具合に書いてたら、1個1個別でレコードが作られてあらってなったので、
分割して連結して最後にぶっこむ方式に変更。
でもこれって、コード的に綺麗じゃないんだろうな。
フィールドの配列も多分もっと上手に作れるんだろうなぁ。

制御できないコード書いて涙を流したくないのでこうなってます。
いつまでもこうじゃいけないとは思うのですけども!

スポンサーリンク

この記事が気に入ったら
フォローしよう

最新情報をお届けします

おすすめの記事