如何测试是否在zend 2中成功执行了插入查询?

时间:2015-01-03 17:35:26

标签: pdo zend-framework2 zend-db

这是我的代码:

$ip = $_SERVER['REMOTE_ADDR'];
$insert =   $this->adapter->query("INSERT INTO users (username,`name`,email,`password`, birthday,country,city,address,website,img_url,`date`,`update`,ip,email_confirm,`status`) values ('".$new_user_data['username']."','".$new_user_data['name']."','".$new_user_data['mail']."','".md5($new_user_data['password'])."','".$new_user_data['birthday']."','".$new_user_data['country']."','".$new_user_data['city']."','".$new_user_data['address']."','".$new_user_data['website']."','".$new_user_data['user_picture']."',NOW(),
                NOW(),'".$ip."','0','normal')");
$check = $insert->execute();

我想检查插入查询是否成功执行。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

经过一番搜索后,我发现了以下内容(未经测试,仅为理论上的):

您的代码$adapter->query('STRING')->execute()应返回Zend\Db\Adapter\Driver\ResultInterface,您可以在$result->getAffectedRows()上查看。

此外:

在ZF2中,直接使用$_SESSION等全局变量,在控制器中使用$this->getRequest()->getServer('REMOTE_ADDR');是不错的做法。

希望有所帮助