php zend框架行受影响

问题描述:

我使用zend框架,我看到代码中使用save()函数,想知道是否有办法获取受影响的行之后,看到受影响的行数..php zend框架行受影响

我检查了这个documentation但没有多大帮助。有任何想法吗?谢谢

Zend_Db_Table_Row :: save()方法返回行的主键,如果您正在更新现有行,则返回当前主键;如果您要保存新行,则返回新主键。

save()方法适用于一个行实例,因此@Evernoob表示它只应用于一行。但是,保存时不一定会导致一行“受到影响”。例如,如果我没有更改任何列值,并且保存()一行,则受影响的行为零。在mysql shell中试试这样的东西,你会发现它报告了零行受到影响。

UPDATE mytable SET column1 = column1 WHERE id = 1234; -- effectively a noop 

的Zend_Db_Statement有一个方法rowCount()(模仿PDOStatement对象rowCount()方法),但这种信息不通过一个Zend_Db_Table_Row接口浮出水面。

所以如果你需要这些信息,你必须使用Zend_Db_Adapter :: query()来更新数据来创建一个Zend_Db_Statement对象。在你执行()语句之后,你可以调用它的rowCount()。

+0

哦谢谢澄清..thats为什么当我试图rowcount(),它没有工作.. – Jay

save()函数应用于该对象的实例,该实例与一行关联。因此,您可以安全地假定调用对象的save()只会影响其关联的一行。

+0

好的谢谢,但即使如此,我可以知道它是否影响该记录或不?因为如果数据库无法访问的原因,那么我想通过检查它是否影响到记录或不..因为它不是然后我会中止它。 – Jay

+0

尝试检查什么保存()函数返回后,你打电话... – Evernoob

+0

是啊我有点这样做,通过使用count..is正确的方式 – Jay