Php 如何使用变量而不是字段名更新sql字段?

Php 如何使用变量而不是字段名更新sql字段?,php,sql,variables,request,Php,Sql,Variables,Request,我是新来的(显然不是英国人),但我有个问题。 我有一个SQL请求,它是一个更新,如下所示: $rep = $bdd->exec("UPDATE z_agenda SET AGENDA_1='$code'WHERE AGENDA_NOM='$agent' AND AGENDA_TYPE='code'"); 但是,现在有趣的是,我想将AGENDA\u 1更改为一个变量,它可以包含AGENDA\u 1,AGENDA\u 2,等等。直到AGENDA\u 31 但是SQL似乎不喜欢它。 有人有主

我是新来的(显然不是英国人),但我有个问题。
我有一个SQL请求,它是一个
更新
,如下所示:

 $rep = $bdd->exec("UPDATE z_agenda SET AGENDA_1='$code'WHERE AGENDA_NOM='$agent' AND AGENDA_TYPE='code'");
但是,现在有趣的是,我想将
AGENDA\u 1
更改为一个变量,它可以包含
AGENDA\u 1
AGENDA\u 2
,等等。直到
AGENDA\u 31

但是SQL似乎不喜欢它。
有人有主意吗? 我现在完全被卡住了

如果你想要更多的解释,我在这里。 坐下来,等待,阅读一些帮助论坛

我添加了一些代码: "

"

我的数据库包含很少的信息列,每天包含31列。一行/月/用户
不知道如何使用其他解决方案管理我的数据库。

这里实际上有很多事情要做

    您应该考虑使用以防止SQL注入漏洞;<李>
  • 你应该仔细阅读
  • 可以扩展字符串并使用(例如)动态添加列,但您不想这样做

对列进行编号通常是一个非常糟糕的主意。单击数据库规范化链接以获取详细信息和关于如何进行的详细指导。使用这样的数据库结构,您的应用程序将无法维护。你将在余生中编写“字符串构建循环”,而像你现在遇到的问题已经解决了一百万次。

循环是静态的,只是举个例子,但你可以相应地将内部代码设置到

for($i=0;$i<=31;$i++)
{
    $agenda_coloumn = 'AGENDA_'.$i;
    $rep = $bdd->exec("UPDATE z_agenda SET $agenda_coloumn = '$code' WHERE AGENDA_NOM='$agent' AND AGENDA_TYPE='code'");
}
for($i=0;$iexec(“更新z_议程集$agenda\u coloumn='$code',其中agenda\u NOM='$agent'和agenda\u TYPE='code'));
}

你能再显示一些代码吗?你想插入哪个变量?你现在正在执行31个查询……我认为,对于这些问题,你应该随时通知海报,他选择了一条非常狡猾的路径。@Sherlock我在第一行中清楚地提到,循环只是一个示例,向他展示了如何创建动态co我必须在同一个html页面中管理所有用户,我尝试了一些事情,但我只能成功地做到这一点……你可以在网上找到大量关于如何建模日历数据库的信息(甚至在StackOverflow上)。可能一个带有
说明
日期
字段的表
calendar\u条目
现在就足够了。然后,您可以在任何给定日期存储任意数量的事件,而不必麻烦它属于哪一列。按照当前的设计,想象一下必须更改事件的日期。您必须这样做:
updatez_-agenda-SET-agenda_-1=NULL,agenda_-2='event',其中x=y
或其他一些非常不方便的事情。嗨,我只是更新了我的帖子。实际上,我每月都要为75个用户做一个日历(在一个页面中有整整一个月),所以我不知道怎么做…但我会看看你给我看的。好吧,在我的情况下,这对我没有帮助:p
for($i=0;$i<=31;$i++)
{
    $agenda_coloumn = 'AGENDA_'.$i;
    $rep = $bdd->exec("UPDATE z_agenda SET $agenda_coloumn = '$code' WHERE AGENDA_NOM='$agent' AND AGENDA_TYPE='code'");
}