phalcon mysql in_php的phalcon框架的db怎样获取mysql执行过程中的错误信息?

phalcon中的数据库操作类Phalcon\Db,Phalcon\Db\Adapter\Pdo, Phalcon\Db\Adapter\Pdo\Mysql。这几个我看了,都没有数据库执行出错后获取相应错误的方法,不知道是怎么回事,有没有知道的啊?

假设你已经注册”falsh”服务:

php

/**

1. Register the flash service with custom CSS classes

*/

$di->set('flash', function() {

$flash = new \Phalcon\Flash\Direct(array(

'error'   => 'alert alert-danger callout callout-danger',

'success' => 'alert alert-success',

'notice'  => 'alert alert-info',

'warning' => 'alert alert-warning'

));

return $flash;

});

以\Phalcon\Mvc\Model为例,在controller里面:

php

if ($Article->save()) {

$this->flash->success($Article->title . 'has been updated');

} else {

foreach ($Article->getMessages() as $message) {

$this->flashSession->error($message);

}

return $this->response->redirect($paginateUrl);

$this->view->disable();

}

当然,你也可以自定义验证信息:

php

public function validation()

{

$this->validate(new Uniqueness(array(

'field' => 'slug',

'message' => 'The slug already exists in other articles,please modify the article title'

)));

if ($this->validationHasFailed() == true) {

return false;

}

}

如果是working with models则

$robot = new Robots();

$robot->type = "mechanical";

$robot->name = "Astro Boy";

$robot->year = 1952;

if ($robot->save() == false) {

echo "Umh, We can't store robots right now: \n";

foreach ($robot->getMessages() as $message) {

echo $message, "\n";

}

} else {

echo "Great, a new robot was saved successfully!";

}

如果是phql则

$phql = "INSERT INTO Cars VALUES (NULL, 'Nissan Versa', 7, 9999.00, 2012, 'Sedan')";

$result = $manager->executeQuery($phql);

if ($result->success() == false)

{

foreach ($result->getMessages() as $message)

{

echo $message->getMessage();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值