MySQL错误 - 未知列 - 需要编辑

时间:2014-02-04 22:12:46

标签: php mysql sql

感谢阅读。

阅读这里的所有文章帮助我找到问题,我只是不确定如何编辑代码。我还在学习。

我得到的信息是:

SELECT attachid
FROM ilace_attachment WHERE attachtype = 'ads' AND user_id ='6' AND ads_id='1'


MySQL Error  : Unknown column 'ads_id' in 'where clause'
Error Number : 1054

这一切都是在我将软件脚本升级到更新版本后开始的。我检查了MYSQL中的ads_ads,并且没有ads_id的列,只有一个叫做;标识。

我相信我的问题的解决方案是将“ads_id”更改为“id”。但我不确定这是正确的还是我应该改变的。

  $sql = $ilace->db->query("SHOW TABLE STATUS LIKE '". DB_PREFIX ."ads_ads'");
  $ads_id_temp = $ilace->db->fetch_array($sql);
  $ads_id=$ads_id_temp['Auto_increment'];
}
else
{
  $ads_id=$ilace->GPC['id'];
}
$attachid = $ilace->db->fetch_field(DB_PREFIX . "attachment", "attachtype = '".'ads'."' AND user_id ='".$_SESSION['ilacedata']['user']['userid']."' AND ads_id='".$ads_id."'", "attachid");

这是它运行的脚本。

http//wwwWEBSITEcom/campaign.php?id=0&cmd=_create-    campaign&1=Advertise+here+for+%245.00+per+1000+views&2=Targeted+AdTITLENAME+adverts&3=http%3A%2F%2FwwwWEBSITEcom%2Fcampaign.php%3Fcmd%3Dcreate%26mode%3Dppc&4=Vist&zone=header&mode=PPI&clicks=0&5=1&keywords=KEYWORD1%2C+was%2C+KEYWORD2%2C+KETWORD3%2C+KEYWORD4&dotw[1]=1&dotw[2]=1&dotw[3]=1&dotw[4]=1&dotw[5]=1&dotw[6]=1&dotw[0]=1

2 个答案:

答案 0 :(得分:1)

您将AND ads_id=更改为AND id=,因为这是SQL语句中的字段名称,并且看起来字段名称已更改。 您不会更改$ads_id,因为这是您的PHP变量的名称,并且这样可以正常工作,并且不需要与字段名称相同。

在更广泛的层面上,您应该坐下来弄清楚引用的PHP的最后一行如何将错误中引用的SQL语句放在一起。您应该知道.用于将字符串连接在一起,PHP字符串必须以相同的字符开头和结尾,但可以是'",并且SQL语句需要'左右的值。

此外,如果您更新了第三方软件脚本并且它现在与您的数据库不兼容,那么您应该查看是否存在某种类型的数据迁移脚本,而您还没有运行

答案 1 :(得分:0)

取决于。 id列是否包含与ads_id相同的信息?如果是的话,是的,你应该改变它。如果不是,你应该弄清楚id发生了什么以及它们被移除的原因。