あなたの習慣について教えてください!!

こんにちは。PHPの初心者です。MySQLで一つの配列を読む方法はわかっていますが、複数の配列をテーブルに入れる方法がわかりません。どなたかわかる方がいらっしゃったら教えてください。

$sql01 = "INSERT INTO $table01 (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id, comment_subscribe) VALUES ('1069','online post dated check cashing','Tim','Hello','221.120.211.2','2008-09-23 06:43:43','2008-09-23 14:43:43','Yay','0','spam','Hello','trackback','0','0','N')";

以上のように$table01というテーブルに特定のデータを挿入することができます。データベースは$database_my_juliaです。もう既に$database_my_meggyというデータで以下のようにデータを$sqlに保持しています。このような複数の配列を上記のように他のデータベースのテーブルに挿入することはできるでしょうか?

$sql = "select comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id, comment_subscribe from $table00 WHERE comment_approved != '1'";
$result_my_meggy = mysql_query($sql,$my_meggy);

宜しくお願いします。

A 回答 (2件)

while ($item = mysql_fetch_array($result_my_meggy)) {


$ins_sql[] = "INSERT INTO $table01 (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id, comment_subscribe)
VALUES ($item[comment_post_ID],
$item[comment_author],
$item[comment_author_email],
$item[comment_author_url],
$item[comment_author_IP],
$item[comment_date],
$item[comment_date_gmt],
$item[comment_content],
$item[comment_karma],
$item[comment_approved],
$item[comment_agent],
$item[comment_type],
$item[comment_parent],
$item[user_id],
$item[comment_subscribe])";
}

for(i=0;$i<count($ins_sql);$i++){
$res = mysql_query($sql[$i]);
}

動作確認していないので動かないかもしれませんがこんな感じです。
SELECTで読み込んだ内容でSQL(INSERT)文を作成し変数ins_sql配列に加えて
全部読み込んだ後にins_sqlの内容をクエリ送信しています。

この回答への補足

どうもご返答ありがとうございます。
while ($row = mysql_fetch_assoc($result_my_meggy)) {
とした後、INSERT文内で
VALUES ('".$row['comment_post_ID']."','".$row['comment_author']."'...)";とすることで解決しました。

再度お礼を申し上げます。

補足日時:2008/10/06 09:25
    • good
    • 0

PHPでされるのならSELECT文で読み込んでINSERT文をPHPで作成しMYSQLに送信


↑これを行数分だけFOR文で繰り返せばできます。

テーブルの構成が同じ必要がありますが
phpmyadminなどのツールを使用するならSELECT文でエクスポートし
移動させたいテーブルにインポートすればOKです。

この回答への補足

早速のご返事ありがとうございます。

「PHPでされるのならSELECT文で読み込んでINSERT文をPHPで作成しMYSQLに送信 ↑これを行数分だけFOR文で繰り返せばできます。」

、とあります。言っていることはわかるし、そのようにできればと試行錯誤しています。具体的に$sql或は$result_my_meggyをどうやって$sql01にあるInsert文に渡すのでしょうか?

どうぞ宜しくお願いします。

補足日時:2008/10/06 04:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報