Zend Db Update无效

时间:2009-10-18 04:55:02

标签: php zend-framework

我的表结构是:

TABLE `licenses` (
`id` int(11) NOT NULL auto_increment,
`code` varchar(30) collate utf8_unicode_ci NOT NULL,
`title` varchar(255) collate utf8_unicode_ci NOT NULL,
`description` text collate utf8_unicode_ci NOT NULL,
`license_type` char(1) collate utf8_unicode_ci NOT NULL default 'b',
PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

目前有数据:

(`id`, `code`, `title`, `description`, `license_type`)
(2, 'asd', 'asdt', 'asdd', 'b')

我的数据库对象很好并正常工作:$ db [类:Zend_Db_Adapter_Pdo_Mysql]

我用它来更新:

$data=array( 'id' => 2 , 'code' => 'asd' ,  'title' => 'asdt' , 'description' => 'asdd' , 'license_type' => 'b');

$db->update('licenses' , $data  , $db->quoteInto(" id = ? " , $data['id']));   

返回rowcount = 0;数据库中没有更新任何内容。

我的数据库是Mysql。任何人都有任何想法,发生了什么。

1 个答案:

答案 0 :(得分:1)

问题是,即使执行sql,$ db-> update(....)也返回'0',但是作为bind参数提供的数据(上面的$ data)是包含在原始数据中的原始数据。表,我的意思是当sql没有更改数据时。所以我们的代码不能依赖返回的行数。