Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
条令代码点火器MySQL积垢错误_Mysql_Codeigniter_Doctrine_Crud_Mysql Error 1054 - Fatal编程技术网

条令代码点火器MySQL积垢错误

条令代码点火器MySQL积垢错误,mysql,codeigniter,doctrine,crud,mysql-error-1054,Mysql,Codeigniter,Doctrine,Crud,Mysql Error 1054,EDIT:错误的原因(见下文):我在doctrine_pi.php中的默认主键是“id”,所以我将它改为“book_id”(我数据库的主键),它工作了。谢谢Marc B. 嗨, 我使用的是CI+Doctrine+MySQL,我得到了以下CRUD错误: (1) 尝试使用以下代码在数据库中创建新记录时: $book_title=‘伯罗奔尼撒战争’ $b=新书() $b->title=$book\u title $b->价格=10.50 $b->save() 我得到这个错误: 致命错误:未捕获的exe

EDIT:错误的原因(见下文):我在doctrine_pi.php中的默认主键是“id”,所以我将它改为“book_id”(我数据库的主键),它工作了。谢谢Marc B.

嗨, 我使用的是CI+Doctrine+MySQL,我得到了以下CRUD错误:

(1) 尝试使用以下代码在数据库中创建新记录时:

$book_title=‘伯罗奔尼撒战争’
$b=新书()
$b->title=$book\u title
$b->价格=10.50
$b->save()

我得到这个错误:

致命错误:未捕获的exeption'doctor\u Connection\u Mysql\u Exception'和消息'SQLSTATE[42S22]:未找到列:1054中的'field list'中的未知列'title'

(2) 尝试从数据库中获取记录并在“我的视图”页面上显示以下代码时:

$book_title=‘伯罗奔尼撒战争’
$title=$book\u title
$search\u results=Doctrine::getTable('Book')->findonebytle($title)
echo$搜索结果->标题//(在视图文件中)

我得到这个错误:

致命错误:未捕获异常“Doctrine\u Connection\u Mysql\u exception”,消息为“SQLSTATE[45S22]:未找到列:1054中“field list”中的未知列“b.id”

最后,当我尝试更新记录时,如下所示:

$book_title=‘伯罗奔尼撒战争’;
$title=$book\u title;
$u=Doctrine::getTable('Book')->find($title);
$u->title=$title;
$u->save()

我得到了一个类似的错误:

致命错误:未捕获异常 '原则\u连接\u Mysql\u异常' 带有消息“SQLSTATE[42S22]:列 未找到:1054未知列“b.id” 在“字段列表”中

以下是我的Doctrine_记录模型:

class Book extends Doctrine_Record{
    public function setTableDefinition()
    {
       $this->hasColumn('book_id');
       $this->hasColumn('isbn10','varchar',20);
       $this->hasColumn('isbn13','varchar',20);
       $this->hasColumn('title','varchar',100);
       $this->hasColumn('edition','varchar',20);
       $this->hasColumn('author_f_name','varchar',20);
       $this->hasColumn('author_m_name','varchar',20);
       $this->hasColumn('author_l_name','varchar',20);
       $this->hasColumn('cond','enum',null, array('values' => array('as new','very      good','good','fair','poor')));
       $this->hasColumn('price','decimal',8, array('scale' =>2));
       $this->hasColumn('genre','varchar',20);
    }
    public function setUp()
    {
       $this->setTableName('Book');
       //$this->actAs('Timestampable');
    }
最后,这里是我的mysqldump:

-- MySQL dump 10.13  Distrib 5.1.41, for Win32 (ia32)
--
-- Host: localhost    Database: books
-- ------------------------------------------------------
-- Server version   5.1.41

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `book`
--
CREATE DATABASE books;
USE books;

DROP TABLE IF EXISTS `book`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `book` (
  `book_id` int(11) NOT NULL AUTO_INCREMENT,
  `isbn10` char(20) DEFAULT NULL,
  `isbn13` char(20) DEFAULT NULL,
  `title` char(100) DEFAULT NULL,
  `edition` char(20) DEFAULT NULL,
  `author_f_name` char(20) DEFAULT NULL,
  `author_m_name` char(20) DEFAULT NULL,
  `author_l_name` char(20) DEFAULT NULL,
  `cond` enum('as new','very good','good','fair','poor') DEFAULT NULL,
  `price` decimal(8,2) DEFAULT NULL,
  `genre` char(20) DEFAULT NULL,
  PRIMARY KEY (`book_id`)
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `book`
--

LOCK TABLES `book` WRITE;
/*!40000 ALTER TABLE `book` DISABLE KEYS */;
INSERT INTO `book` VALUES (1,'0136061699','978-0136061694','Software Engineering: Theory and Practice','4','Shari','Lawrence','Pfleeger','very good','50.00','Computing'),(2,'0538469684','978-0538469685','Database Systems Design, Implementation, and Management','9','Peter','','Rob','as new','150.00','Computing'),(3,'1418835404','978-1418835408','Java Programming Program Design Including Data Structures','1','D','S','Malik','as new','150.00','Computing'),(4,'0201609215','978-0201609219','Introduction to Computer Graphics','1','James','D','Foley','good','100.00','Computing'),(5,'0534490964','978-0534490966','Discrete Mathematics with Applications','1','Susanna','','Epp','as new','150.00','Mathematics'),(6,'0321616999','978-0321616999','Brief Calculus and its Applications','12','Larry','J','Goldstein','fair','40.00','Mathematics'),(7,'0136154344','978-0136154341','College Algebra Essentials','8','Michael','','Sullivan','as new','150.00','Mathematics'),(8,'0495108359','978-0495108351','Trigonometry','6','Charles','P','McKeague','good','100.00','Mathematics'),(9,'0310291097','978-0310291091','Moral Choices: An Introduction to Ethics','3','Scott','B','Rae','good','100.00','Ethics'),(10,'1883925541','978-1883925543','Philosophy and Education: An Introduction in Christian Perspective','4','George','R','Knight','good','100.00','Philosophy'),(11,'000715447X','978-0007154470','Sociology Themes and Perspectives','6','Michael','','Haralambos','good','100.00','Sociology'),(12,'0273651404','978-0273651406','Economics: A Students Guide','5','John','','Beardshaw','good','100.00','Economics'),(13,'1883925169','978-1883925161','Reign of God','2','Richard','','Rice','good','100.00','Religion');
/*!40000 ALTER TABLE `book` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `copy`
--

DROP TABLE IF EXISTS `copy`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `copy` (
  `copy_id` int(11) NOT NULL AUTO_INCREMENT,
  `book_id` int(11) DEFAULT NULL,
  `rental_date` date DEFAULT NULL,
  `quantity` int(11) DEFAULT NULL,
  `cus_id` int(11) DEFAULT NULL,
  `emp_id` int(11) DEFAULT NULL,
  `man_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`copy_id`),
  KEY `book_id` (`book_id`),
  KEY `cus_id` (`cus_id`),
  KEY `emp_id` (`emp_id`),
  KEY `man_id` (`man_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `copy`
--

LOCK TABLES `copy` WRITE;
/*!40000 ALTER TABLE `copy` DISABLE KEYS */;
/*!40000 ALTER TABLE `copy` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `user`
--

DROP TABLE IF EXISTS `user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `user` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `user`
--

LOCK TABLES `user` WRITE;
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
INSERT INTO `user` VALUES (1,'mmmmmm','8476817631fd5ca37ebca97bb438c472','k@w.com','2010-04-21 02:32:52','2010-04-21 02:32:52');
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2010-04-21  1:39:04

非常感谢您的帮助。提前感谢。MySQL的数据库、表和字段名称区分大小写。MySQL中的表名为“book”,但您的条令定义为
$this->setTableName('book'));
带有大写字母
B

MySQL的数据库、表和字段名区分大小写。该表在MySQL内部称为“book”,但您的条令定义具有
$this->setTableName('book'));
带有大写字母
B

+1感谢您的回复Marc B。我做了您建议的更改,第一次查询成功了!但是,我在“字段列表”中仍然收到1054未知列“B.id”,第二次和第三次查询仍然存在错误,因此这些查询可能有问题……在没有看到其余SQL错误的情况下,它是很难说,但由于您没有一个名为“b”的表,其中包含“id”字段,因此可能Doctrine希望您的book表包含“id”字段,但您得到的是“book_id”。+1.您是对的Marc b。我的Doctrine_pi.php文件中的默认主键是“id”,因此我将其更改为“book_id”,并删除了以下行:$this->hasColumn('book_id'));来自我的条令模型,它成功了。感谢+1感谢你的回复Marc B。我做了你建议的更改,我的第一个查询成功了!但是,对于第二个和第三个查询,我仍然在“字段列表”中得到1054未知列“B.id”,因此这些查询可能有问题……在没有看到其余SQL错误的情况下,它很难说,但由于您没有一个名为“b”的表,其中包含“id”字段,因此可能Doctrine希望您的book表包含“id”字段,但您得到的是“book\u id”。+1.您是对的Marc b。我的Doctrine\u pi.php文件中的默认主键是“id”,因此我将其更改为“book\u id”,并删除了以下行:$this->->hasColumn('book\u id'));来自我的条令模型,它成功了。谢谢