温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Zend Framework之如何连接数据库并执行增删查

发布时间:2021-08-31 09:37:32 来源:亿速云 阅读:185 作者:小新 栏目:开发技术

这篇文章主要介绍Zend Framework之如何连接数据库并执行增删查,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体如下:

我们先要在数据库里建立一个叫message的表,它有三个字段.分别为id,title,content.其中id为主键.

现在我们开始第一步:在application文件夹下面加入一个config文件夹,并在这里面增加一个config.ini文件..这里面是配置数据库基本信息.

如下代码所示:

[general] db.adapter=PDO_MYSQL //请开启PDO扩展 db.config.host=localhost //Mysql主机 db.config.username=root //用户名 db.config.password= //密码,我这里为空 db.config.dbname=zendoophp //数据库名

第二步:在application下的models文件夹下增加一个Message.php文件..这里命名是以数据表名称相同.

<?php class Message extends Zend_Db_Table { protected $_name ="message"; protected $_primary = 'id'; }

第三步:接下来..我们要在我们的入口文件index.php里加入下面代码如下:

//配置数据库参数,并连接数据库  $config=new Zend_Config_Ini('./application/config/config.ini',null, true);  Zend_Registry::set('config',$config);  $dbAdapter=Zend_Db::factory($config->general->db->adapter, $config->general->db->config->toArray());  $dbAdapter->query('SET NAMES UTF8');  Zend_Db_Table::setDefaultAdapter($dbAdapter);  Zend_Registry::set('dbAdapter',$dbAdapter);

第四步:我们就要对我们的IndexController.php控制器进行操作了..分别有四个方法.它们的作用就是增加数据,修改,

删除数据.程序如下..(我在程序员都有注解.这里不就多说!):

class IndexController extends Zend_Controller_Action  {   function init()   {    $this->registry = Zend_Registry::getInstance();    $this->view = $this->registry['view'];    $this->view->baseUrl = $this->_request->getBaseUrl();   }   function indexAction()   {     $message=new message();//实例化数据库类    //这里给变量赋值,在index.phtml模板里显示    $this->view->bodyTitle = 'Hello World!';    //取到所有数据.二维数组    $this->view->messages=$message->fetchAll()->toArray();    //print_r( $this->view->messages);    echo $this->view->render('index.phtml');//显示模版   }   function addAction(){   //如果是POST过来的值.就增加.否则就显示增加页面   if(strtolower($_SERVER['REQUEST_METHOD'])=='post'){   //过滤一些数据.不过这里还有检测一些动作没有做..  //请大家加了..我就不多写那么多了.时间关系..   Zend_Loader::loadClass('Zend_Filter_StripTags');   $filter=new Zend_Filter_StripTags();   $content=$filter->filter(($this->_request->getPost('content')));   $title=$filter->filter(($this->_request->getPost('title')));   $message=new Message();   $data=array(   'content'=>$content,   'title'=>$title   );  $message->insert($data);   unset($data);   echo '您增加数据成功!请您   $this->view->baseUrl.'/index/index/">返回';    }else{     echo $this->view->render('add.phtml');//显示增加模版    }   }   public function editAction(){   $message=new Message();   $db = $message->getAdapter();   Zend_Loader::loadClass('Zend_Filter_StripTags');   $filter=new Zend_Filter_StripTags();   //同上面addAction   if(strtolower($_SERVER['REQUEST_METHOD'])=='post'){   $content=$filter->filter(($this->_request->getPost('content')));   $title=$filter->filter(($this->_request->getPost('title')));   $id=$filter->filter(($this->_request->getPost('id')));    $set=array(    'content'=>$content,    'title'=>$title   );   $where = $db->quoteInto('id = ?', $id);   //更新表数据   $message->update($set, $where)   unset($set);  echo '您修改数据成功!请您   $this->view->baseUrl.'/index/index/">返回';   }else{    $id=$filter->filter(($this->_request->getParam('id')));   $this->view->messages=$message->fetchAll('id='.$id)->toArray();    echo $this->view->render('edit.phtml');//显示编辑模版     }   }  public function delAction()  { $message=new Message();   //能过ID删除数据.这里有一些动作没有做.比如说没有ID页面要去哪里.    //.我只是给大家一个思想..所以不会那么完整   $id = (int)$this->_request->getParam('id');   if ($id > 0) {     $where = 'id = ' . $id;     $message->delete($where);   }   echo '您删除数据成功!请您   $this->view->baseUrl.'/index/index/">返回';   }  }

第五步:就是增加对应的View.也就是网页模板..分别是add.phtml,edit.phtml,index.phtml.这在程序里也有注解.

以上是“Zend Framework之如何连接数据库并执行增删查”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI