0

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

3 回答 3

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;
    
于 2012-05-02T08:35:11.993 回答
1

再次检查该字段的名称。我还建议您将字段名称包含在反引号中。

于 2012-05-02T08:25:20.967 回答
0

表结构中的字段名称前面有一个空格。
我建议重新创建一个表,从字段名称中删除空格。

` the_mother_church_id`
 ^ an excessive space
于 2012-05-02T08:35:04.890 回答