我有一个mysql查询,我通过更改表来向表中添加列但是它会引发错误Error updating record: Champ 'rating' inconnu dans field list
现有表格列
id int(11)
script_url text
date varchar(4)
rateing varchar(4)
photo varchar(4)
dateformat varchar(4)
page_limit int(4)
proj_desc varchar(4)
companyname varchar(4)
text_color varchar(255)
citation_color varchar(255)
bg_color varchar(255)
border_color varchar(255)
custom_css blob
ratingsformat varchar(250)
version varchar(250)
查询
$col = mysqli_query( $link, "SELECT proj_desc,companyname,text_color,citation_color,bg_color,border_color,ratingsformat,version,rating,customratings,speed,pagination,global_option FROM 'setting'");
if (!$col){
mysqli_query($link, "ALTER TABLE `setting`
ADD COLUMN IF NOT EXISTS `proj_desc` VARCHAR( 255 ) ,
ADD COLUMN IF NOT EXISTS `companyname` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `text_color` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `citation_color` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `bg_color` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `border_color` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `ratingsformat` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `version` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `rating` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `customratings` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `speed` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `pagination` VARCHAR( 255 ),
ADD COLUMN IF NOT EXISTS `global_option` VARCHAR( 255 ),
DROP `custom_css` blob
"
);
}
错误 更新记录时出错:Champ' rating' inconnu dans field list
我做错了什么。
答案 0 :(得分:2)
我已经更改了for循环下的代码,因为所有列都是VARCHARS并且使用了反引号。
$col_arr = array(
'proj_desc',
'companyname',
'text_color',
'citation_color',
'bg_color',
'border_color',
'ratingsformat',
'version',
'rating',
'customratings',
'speed',
'pagination',
'global_option'
);
foreach ($col_arr as $column_field) {
$col = mysqli_query($link, "SELECT `$column_field` FROM `setting`");
if(!$col){
mysqli_query($link, "ALTER TABLE `setting`
ADD `$column_field` VARCHAR( 255 )"
);
}
}
请告诉我此代码是否正确。