zend framework 为什么我不能插入数据呢?

数据表页面 Item.php
<?php
class Item extends Zend_Db_Table {
protected $_name='item';
protected $_primary='id';
}
?>

控制器页面
插入数据方法:
public function additemAction(){
$name=$this->getRequest()->getParam("name");
$description=$this->getRequest()->getParam("description");
$vote_count=$this->getRequest()->getParam("vote_count");

$data=array(
'name'=>$name,
'description'=>$description,
'vote_count'=>(int)$vote_count
);

$itemModel=new Item();
$itemModel->insert($data);
echo "ok";
}

数据库4个字段 id,name,description,vote_count,其中ID为主键,自动增长!

现在表里面的数据能查询出来,这个就可以肯定链接数据库和数据表没有问题,
现在关键就是实例出来的对象$itemModel->insert($data); 用insert怎么插入不了数据呢?还有就是我敢肯定的是,提交的数据是存在的,我在本机打印过,数据提交正常,就是用insert不能成功添加?
请高手给我指导,顺便说一句,我是在学习这个框架,看的视频学习,视频上都是完全正常,实现了插入功能!求高手指教,问题出在哪里?
问题我找到了,是页面编码问题,编码不一致,就出现了数据插入不进去的问题!

觉得可能是你没有链接数据库,或者链接数据库失败。你的当前控制器要继承Zend_Controller_Action,并添加init()函数:
public function init(){

$url = constant("APPLICATION_PATH") . DIRECTORY_SEPARATOR . 'configs' .DIRECTORY_SEPARATOR . 'application.ini';
$dbconfig = new Zend_Config_Ini( $url, "mysql" );
$db = Zend_Db::factory( $dbconfig->db );
$db->query( 'SET NAMES UTF8 ');
Zend_Db_Table::setDefaultAdapter( $db );
}
如果还不行的话就可能是你的配置文件application.ini配置错误了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-26
我一般不使用 Zend_Db_Table这些继承方法,一般直接使用 adapter 对象进行操作,使用adapter 可以扩展到对 Zend_Db_* 所有的操作。

你的 insert 你修改为这样看 $itemModel->insert('table',$data); table 表示你要操作的表名

zend framework 为什么我不能插入数据呢?
如果还不行的话就可能是你的配置文件application.ini配置错误了。

zendframework开发网站,死活连接不上数据库啊,怎么办?求助!!
class AdminController extends Zend_Controller_Action这里没继承错,就是继承它。不知楼主这代码你想说明啥,和标题完全不符。没看到有任何连接数据库的地方。zf的标准做法是db信息写在config\/application.ini中。然后经由_application对象的getOption方法读取application.ini中的db信息,返回一个$config的数组。

zend framework中如何在控制文件中读取入口文件的内容
关键字global,你调用的时候放在哪个变量名的前面。其实哪有你这样用的。

ZendFramework连接mysql能成功,但是使用fetchAll()时获取不到数据,请问...
回答:扎起学生完成的,扣 擦拭希望发帖人v个用户

zendframework搭建为什么cmd窗口是这样的,"php.exe"' 不是内部或外部命...
这是没有将php.exe设置到环境变量里。PS:在我的电脑-属性-高级系统设置-环境变量里面,新建一个php.exe环境变量就行。ZendFramework(ZF):是由Zend公司支持开发的完全基于PHP5的开源PHP开发框架,可用于开发Web程序和服务,ZF采用MVC(Model–View-Controller)架构模式来分离应用程序中不同的部分方便程序...

Zend Framework 怎样使用Zend_View与Zend_Layout玩布局?
php\/\/startMvc里面的数组是你指定存放Layout文件的路径Zend_Layout::startMvc(array('layoutPath'= ROOT_DIR.在这里startMvc()可以带一个可选的数组或Zend_Config 对象来定制实例,有利于你对不同的页面使用不同的Layout.这样的话用起来可以更方便,灵活.第二步:建立你的Layout模板.<!-- 这里页面body...

调用zend framework的models模块时,总是提示No adapter found for...
你好,需要设置一个默认的数据库handle,在你实例化某具体表前加上这句话Zend_Db_Table::setDefaultAdapter($db);而$db是这样定义的 parameters =array('host' => '127.0.0.1','username' => 'root','password' => '***','dbname' => 'tutblog','adapter' => 'Pdo_Mysql')...

Zend Framework 怎样使用Zend_View与Zend_Layout玩布局?
回答:这些部分几乎在每一个部分都可以重用...所Zend Framework 就提供我们一个组件Zend_Layout, 它让我们可以把这些重复的东西写在一个共用的文件里(这里暂时先这样叫).也就可以说是一个页面的布局里. 通过这个组件,我们就可以省去很多重复的工作..让我们专心在程序开发上..同时对以后的代码维护也带来...

zend framework url指定控制器名出现404错误
默认解析好像就是index 如果你添加路径了就是多了一个index

请教zend framework 加载js - 技术问答
[php][\/php]1、放在public(就是放HTML内容)的scripts文件夹下;2、你需要有一个baseUrl的Zend_View_Helper类;3、ZF目前可以使用dojo作为JS框架,或通过ZendX_Jquery来使用JQuery作为JS框架,初学者建议用JQuery,上手较快。

相似回答