导致此"MySQL错误#1054 - 未知列"错误的原因是什么?

Ped*_*dro 0 php mysql sql mysql-error-1054

我对这个MySQL查询有点问题.我已经使用过我在另一个问题中看过的建议,但仍然无效....

这是代码

$kernel->db->query( "UPDATE `" . TABLE_PREFIX . "users` 
                        SET `total_downs` = `total_downs` + 1 
                      WHERE `phcdl_files`.`file_author` = " . $file['file_author'] );
Run Code Online (Sandbox Code Playgroud)

这使


'where子句'中的SQL查询未知列'phcdl_files.file_author' 无效(MySQL错误号; 1054)

glo*_*mad 5

这意味着表phcdl_files中不存在列file_author.你可能想要

$kernel->db->query( "UPDATE " . TABLE_PREFIX . "users SET total_downs = total_downs + 1 WHERE file_author = " . $file['file_author'] );
Run Code Online (Sandbox Code Playgroud)

编辑:请参阅Byron Whitlock的评论.您通常不希望将变量直接插入SQL查询字符串中.