UPDATE查询在while循环中不起作用

时间:2017-03-05 13:33:44

标签: php mysql sql-update

我是PHP的新手,所以请不要破坏我的排骨。

我正在构建知识库系统,基本的CRUD功能。我被困在需要为表中每列的所有值NULL的地方。

这基本上是"编辑KB"形成。我有一个复选框数组,在编辑时我要清除表格中我的类别列中的KB编号' category_kb_members'。

除了这一点,我的代码工作正常。

这是我目前的代码:

//Clear all categories for this KB
while($catrow = mysqli_fetch_array($categorylist)){
$catname = "";
$catname = $catrow['name'];
mysqli_query ($dbc, "UPDATE category_kb_members SET $catname=NULL WHERE $catname ='$kbid';");
}

[请注意,这里不需要对SQL注入进行注释,因为数据库中的源是干净的。]

" $所属分类"是一个类别名称数组 - 我正在更新的表格中有每个类别的列。

" $ kbid"是从URL中的$ _GET设置的,与要删除的KB编号相对应,并且有效且有效。

我的循环是查询并将每个列更新为NULL,如果它存在于列中。代码稍后将继续添加到相关列中。

我已经针对MYSQL运行了这个查询,它在SQL端工作正常。

有关UPDATE无法正常工作的任何想法?

1 个答案:

答案 0 :(得分:0)

感谢您的所有评论。所有帮助过的人都有学分。

我复制了我的$ catname

查询
$categorylist = mysqli_query($dbc,"SELECT name FROM categories");

这是代码的进一步发展。虽然这个变量已经设置好,并且在上面的代码中工作,但它必须在我的代码中的某处清除。如果我在循环上面重新运行这部分它可以正常工作。我将不得不弄清楚上面的变量是什么。

感谢所有人和“阿卜杜拉”让我第三次思考。

相关问题