2012-08-17 46 views
0

請幫助我。 我想從聯繫人表格插入發件箱表格。從聯繫人表中查詢插入到發件箱表

聯繫人:

CREATE TABLE `contacts` 
(`id` int(11) NOT NULL auto_increment, 
    `name` varchar(25) NOT NULL, 
    `phone` varchar(20) NOT NULL, 
    `group_name` varchar(20) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7; 

INSERT INTO `contacts` VALUES (1, 'jala', '+60111', 'friends'); 
INSERT INTO `contacts` VALUES (2, 'jali', '+60222', 'friends'); 
INSERT INTO `contacts` VALUES (3, 'jalu', '+60333', 'friends'); 
INSERT INTO `contacts` VALUES (4, 'kada', '+60444', 'members'); 
INSERT INTO `contacts` VALUES (5, 'kadi','+60555','members'); 
INSERT INTO `contacts` VALUES (6, 'kadu', '+60666', 'members'); 

發件箱:

CREATE TABLE `outbox` 
(`id` int(11) NOT NULL, 
`phone_number` varchar(20) NOT NULL, 
`text` varchar(160) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8;} 

我想插入到發件箱TABEL。

insert.php

$sql =mysql_query("SELECT phone 
        FROM contacts 
        WHERE group_name = 'member'"); 
while($data = mysql_fetch_array($sql)) 
{ $id= $data['id']; $phone= $data['phone'];(phone_number, text) VALUES('$phone','I LOVE YOU') }?> 

回答

2
INSERT INTO outbox (id,phone_number,text) 
SELECT id,phone,'I LOVE YOU' 
FROM contacts 
WHERE group_name = 'member' 
+0

@John Totet Woo:謝謝。祝你好運。 – 2012-08-17 16:13:09

1

您需要使用INSERT...SELECT語句查詢。此外,還可以使用PDO

例子:

<?php 

    $sqlStatement = "INSERT INTO outbox (id, phone_number, text) 
        SELECT id, phone, ? 
        FROM contacts 
        WHERE group_name = ?"; 

    $text = "I LOVE YOU"; 
    $group_name = "member"; 

    $stmt = $dbh->prepare($sqlStatement); 
    $stmt->bindParam(1, $text); 
    $stmt->bindParam(2, $group_name); 

    $stmt->execute(); 

?> 

記住,總是淨化你的投入。