数据库中的未知列问题

时间:2012-05-02 08:21:24

标签: php mysql

请帮我解决这个问题。我在'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;

3 个答案:

答案 0 :(得分:2)

升级到答案

您的CREATE TABLE语句显示列的开头引号和字段名称之间的空格:` the_mother_church_id`。之一:

  1. 在列表名称中使用查询中的空格:

    SELECT * FROM the_mother_church WHERE ` the_mother_church_id` = '1'
    
  2. 重命名列:

    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