我试图将各种不同的值插入到不同的表中。用户编写包含大部分详细信息的主文章,然后查找某些值以防止不必要的重复。我想要做的是让用户选择数据库中已有的开发人员(如果不存在,我已经有了一个选项),但是用户可以选择多个用户。
我想要做的是,如果用户选择多个开发人员,请按以下格式将它们全部插入连接表中
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']也明确填充,因为它在错误的情况下返回到表单时重新选择所有选定的值。我只是无法插入值。
答案 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')");
}
请检查。