_db->quoteIdentifier('zfproducts'); $product_id = $this->_db->quoteIdentifier('product_id'); $stmt = $this->_db->prepare("DELETE FROM $products WHERE $product_id = 1"); $n = $stmt->rowCount(); $this->assertType('integer', $n); $this->assertEquals(-1, $n, 'Expecting row count to be -1 before executing query'); $stmt->execute(); $n = $stmt->rowCount(); $stmt->closeCursor(); $this->assertType('integer', $n); $this->assertEquals(1, $n, 'Expected row count to be one after executing query'); } public function testStatementBindParamByName() { $products = $this->_db->quoteIdentifier('zfproducts'); $product_id = $this->_db->quoteIdentifier('product_id'); $product_name = $this->_db->quoteIdentifier('product_name'); $productIdValue = 4; $productNameValue = 'AmigaOS'; try { $stmt = $this->_db->prepare("INSERT INTO $products ($product_id, $product_name) VALUES (:id, :name)"); // test with colon prefix $this->assertTrue($stmt->bindParam(':id', $productIdValue), 'Expected bindParam(\':id\') to return true'); // test with no colon prefix $this->assertTrue($stmt->bindParam('name', $productNameValue), 'Expected bindParam(\'name\') to return true'); $this->fail('Expected to catch Zend_Db_Statement_Exception'); } catch (Zend_Exception $e) { $this->assertType('Zend_Db_Statement_Exception', $e, 'Expecting object of type Zend_Db_Statement_Exception, got '.get_class($e)); $this->assertEquals("Invalid bind-variable name ':id'", $e->getMessage()); } } public function testStatementBindValueByName() { $products = $this->_db->quoteIdentifier('zfproducts'); $product_id = $this->_db->quoteIdentifier('product_id'); $product_name = $this->_db->quoteIdentifier('product_name'); $productIdValue = 4; $productNameValue = 'AmigaOS'; try { $stmt = $this->_db->prepare("INSERT INTO $products ($product_id, $product_name) VALUES (:id, :name)"); // test with colon prefix $this->assertTrue($stmt->bindParam(':id', $productIdValue), 'Expected bindParam(\':id\') to return true'); // test with no colon prefix $this->assertTrue($stmt->bindParam('name', $productNameValue), 'Expected bindParam(\'name\') to return true'); $this->fail('Expected to catch Zend_Db_Statement_Exception'); } catch (Zend_Exception $e) { $this->assertType('Zend_Db_Statement_Exception', $e, 'Expecting object of type Zend_Db_Statement_Exception, got '.get_class($e)); $this->assertEquals("Invalid bind-variable name ':id'", $e->getMessage()); } } public function testStatementGetColumnMeta() { $this->markTestIncomplete($this->getDriver() . ' has not implemented getColumnMeta() yet [ZF-1424]'); } public function getDriver() { return 'Mysqli'; } }