无法在php mysql中将动态变量用作列名

无法在php mysql中将动态变量用作列名,php,mysql,sql,Php,Mysql,Sql,我试图在php mysql更新中使用动态列名,但出现错误 这是代码 $time=date("H"); $video_view = 234 $update_query = "UPDATE videos SET ". $time . "= {$video_view} WHERE id={$id}"; 这里是错误 UPDATE videos SET 14= 200079 WHERE id=1Query failedYou have an error in your SQL synt

我试图在php mysql更新中使用动态列名,但出现错误 这是代码

 $time=date("H");
 $video_view = 234
 $update_query = "UPDATE videos SET ".  $time . "= {$video_view} WHERE id={$id}";
这里是错误

 UPDATE videos SET 14= 200079 WHERE id=1Query failedYou have an error in  
  your SQL syntax; check the manual that corresponds to your MariaDB  
 server version for the right syntax to use near '14= 200079 WHERE id=1' at line 1

首先,你应该真正使用它。
如果您的列的名称为'14',如变量
$time
中所示,则可以尝试以下方法

 $update_query = "UPDATE videos SET `".  $time . "` = {$video_view} WHERE id={$id}";
据我所知,列名应该介于``之间,因为保留了数字或函数名等名称。

我会避免它,因为它会产生这些错误,而且我不知道查询是否有意义

您的列实际上包含所有整数?
$time
的值是多少?列名应以characters@Jens它们应该是合法的。他们只需要正确对待他们。@Fred ii-我从来不会说这是不“合法的”。但“合法”绝不是好事。这就是为什么这是一篇评论你的专栏(希望)实际上不是数字
14
。。。它是?张贴表格结构,我们可以帮助您。请解释这一点。他说,这个问题应该得到正确的答案。即使是这样也不安全!反对教授/传播草率和危险的编码实践。如果你在没有准备好陈述的情况下发布了答案。另外。