0

我正在尝试从我的数据库中收集随机数量的成员,获取他们的 ID 号并使用它们将多个条目插入到另一个表中,这些条目使用 ID 和来自同一页面的一些发布信息。

当前(非工作)代码:

if($_POST["Submit"] == "Send Mail") {
   $rid = $_SESSION["userid"];
   //is amount of members sending to
   $to = $_POST["credits"];
   $messaging = $_POST["message"];
   $sub = $_POST["subject"];

   ///need all ids for amount of membes sending to    
   $getodds = mysql_query("select Id from `oto_members` ORDER BY RAND() Limit '$to';");

   ...

   ///insert a new line for each member sending to using ids from $getodds query
   @mysql_query("INSERT INTO `mp_creditmail` (`Id`, `message`, `subject`, `read`) VALUES ('$values', '$messaging', '$sub', no) or die(mysql_error());

}
4

2 回答 2

1

在 SQL 中可以用一个查询在一个表中插入多条记录。您可以查看以下链接。http://dev.mysql.com/doc/refman/5.0/es/insert-select.html

查看示例可以使用以下语句来满足您的需求。

///insert a new line for each member sending to using ids from $getodds query
@mysql_query("INSERT INTO 'mp_creditmail' ('Id', 'message', 'subject', 'read') SELECT oto_members.Id, '$messaging', '$sub', 'no' FROM oto_members ORDER BY RAND() Limit '$to';");
于 2013-05-17T22:00:39.493 回答
0

我正在尝试回答您的问题,但您的代码/问题有点不清楚。我将假设您想在第二个查询中使用 $getodds 中获得的 id,其中 '$values' 是。此外,如果您使用的是 php 版本 5 或更高版本,则应使用不推荐使用的查询函数,如 mysqli_query()

foreach($getodds as $values) {
    @mysql_query("INSERT INTO `mp_creditmail` (`Id`, `message`, `subject`, `read`) 
    VALUES ($values, $messaging, $sub, 'no')" or die(mysql_error());
}

mysqli_query() 看起来像这样

$link = mysqli_connect("localhost", "my_user", "my_password", "database");
foreach($getodds as $values) {
    $query = "INSERT INTO `mp_creditmail` (`Id`, `message`, `subject`, `read`)
        VALUES ($values, $messaging, $sub, 'no')";
    $result = @mysqli_query($link, $query)
}

希望这可以帮助。如果不是,请尝试澄清您的问题。

于 2013-05-17T21:55:49.143 回答