使用foreach插入表格

时间:2014-11-15 15:55:33

标签: php mysql foreach insert

我试图将各种不同的值插入到不同的表中。用户编写包含大部分详细信息的主文章,然后查找某些值以防止不必要的重复。我想要做的是让用户选择数据库中已有的开发人员(如果不存在,我已经有了一个选项),但是用户可以选择多个用户。

我想要做的是,如果用户选择多个开发人员,请按以下格式将它们全部插入连接表中

ArticleID DeveloperID

---- 1 ---- ------- 1 -------

---- 1 ---- ------- 4 -------

文章ID始终为1,开发者ID可以有效地为任意数字。用于尝试执行此操作的代码是

if (isset($DEVid)){
     foreach($DEVid as $DeveloperArray){
     mysqli_query($dbc, "INSERT INTO temp_article_developer (ArticleID, DeveloperID)
                   VALUES ('$ArticleID', '$DEVid')");
     }
 }

DEVid由多选输入字段

设置
$DEVid = $_POST['SelectDevelopers'];

ArticleID是通过对插入到数据库中的文章的主要部分的查询来设置的(为我提供要使用的ID,因为ID不是由用户设置的)

$qGetNewArticleID = "SELECT ArticleID FROM temp_article WHERE ArticleTitle='$TTL'";
$rGetNewArticleID = @mysqli_query($dbc, $qGetNewArticleID);
$GetArticleIDRow = mysqli_fetch_array($rGetNewArticleID, MYSQLI_ASSOC);
$ArticleID = $GetArticleIDRow['ArticleID'];

目前我使用的代码不会在数据库中插入任何内容。文章ID字段肯定是填充的,因为我用另一个(更简单的)插入测试它只允许一个选定的字段。 $ _POST [' SelectDevelopers']也明确填充,因为它在错误的情况下返回到表单时重新选择所有选定的值。我只是无法插入值。

1 个答案:

答案 0 :(得分:1)

在过程样式中,mysqli_query需要连接字符串作为第一个参数

来自Php.net

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

您在插入查询中缺少连接字符串。

更新

    foreach($DEVid as $DeveloperArray ){

    mysqli_query($dbc, "INSERT INTO temp_article_developer (ArticleID, DeveloperID)
                   VALUES ('$ArticleID', '$DeveloperArray')");
   }

请检查。