请帮我解决这个问题。我在'where子句'中得到'Unknown column'the_mother_church_id'。 我已多次检查数据库中列名的名称,我确定名称相同。
请问问题出在哪里。
由于
<?php
$past = mysql_query("SELECT * FROM the_mother_church WHERE the_mother_church_id = '1'") or die(mysql_error());
?>
创建表格
CREATE TABLE IF NOT EXISTS `the_mother_church` (
` the_mother_church_id` int(255) NOT NULL,
`the_mother_church_head` varchar(255) NOT NULL,
` the_mother_church_content` varchar(3000) NOT NULL,
` the_mother_church_tags` varchar(255) NOT NULL,
` the_mother_church_created` datetime NOT NULL,
` the_mother_church_image` blob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
答案 0 :(得分:2)
(升级到答案)
您的CREATE TABLE
语句显示列的开头引号和字段名称之间的空格:` the_mother_church_id`
。之一:
在列表名称中使用查询中的空格:
SELECT * FROM the_mother_church WHERE ` the_mother_church_id` = '1'
重命名列:
ALTER TABLE `the_mother_church`
CHANGE ` the_mother_church_id`
`the_mother_church_id` int(255) NOT NULL,
CHANGE ` the_mother_church_content`
`the_mother_church_content` varchar(3000) NOT NULL,
CHANGE ` the_mother_church_tags`
`the_mother_church_tags` varchar(255) NOT NULL,
CHANGE ` the_mother_church_created`
`the_mother_church_created` datetime NOT NULL,
CHANGE ` the_mother_church_image`
`the_mother_church_image` blob NOT NULL;
答案 1 :(得分:1)
再次检查字段的名称。我还建议你用反引号包装字段名称。
答案 2 :(得分:0)
表结构中字段名称前面有一个空格。
我建议重新创建一个表,从字段名称中删除空格。
` the_mother_church_id`
^ an excessive space