感谢阅读。
阅读这里的所有文章帮助我找到问题,我只是不确定如何编辑代码。我还在学习。
我得到的信息是:
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
答案 0 :(得分:1)
您将AND ads_id=
更改为AND id=
,因为这是SQL语句中的字段名称,并且看起来字段名称已更改。
您不会更改$ads_id
,因为这是您的PHP变量的名称,并且这样可以正常工作,并且不需要与字段名称相同。
在更广泛的层面上,您应该坐下来弄清楚引用的PHP的最后一行如何将错误中引用的SQL语句放在一起。您应该知道.
用于将字符串连接在一起,PHP字符串必须以相同的字符开头和结尾,但可以是'
或"
,并且SQL语句需要'
左右的值。
此外,如果您更新了第三方软件脚本并且它现在与您的数据库不兼容,那么您应该查看是否存在某种类型的数据迁移脚本,而您还没有运行
答案 1 :(得分:0)
取决于。 id列是否包含与ads_id相同的信息?如果是的话,是的,你应该改变它。如果不是,你应该弄清楚id发生了什么以及它们被移除的原因。