2012-02-03 12 views
5

मैं Zend फ्रेमवर्क के लिए नया हूँ और मुझे पता है कि कैसे मैं इस से प्रभावित पंक्तियों की संख्या प्राप्त कर सकते हैं करना चाहते हैं:प्रभावित पंक्तियों की संख्या Zend डीबी (अपडेट)

$sql = "UPDATE auth SET act='', status='1' WHERE username = ? AND act = ? "; 
$stmt = $this->dbh->prepare($sql); 
$stmt->execute(array($this->username, $this->key)); 

मैं कुछ पोस्ट देखी इस मंच पर, लेकिन वे हम MySQLi और SELECT स्टेटमेंट्स पर आधारित हैं जहां आप वास्तव में count() का उपयोग कर पंक्तियों की गणना कर सकते हैं।

क्या कोई सुझाव दे सकता है कि मैं इसे rowCount का समर्थन करने के लिए कैसे बदल सकता हूं।

यह कैसे मैं अपने डेटाबेस से कनेक्ट है:

$parameters = array(
    'host' => 'localhost', 
    'username' => 'root', 
    'password' => '', 
    'dbname' => 'users' 
); 

try { 
     $db = Zend_Db::factory('Pdo_Mysql', $parameters); 
... 

यह मेरा Bootstrap.php में है। मैंने ऐसा इसलिए किया क्योंकि मैं एक से अधिक डेटाबेस के साथ काम करता हूं।

उत्तर

6

Zend_Db_Statement_Pdo की एक पंक्ति गणना() विधि है।

API docs

पिछले सम्मिलित करें के निष्पादन करने, हटाने या अद्यतन बयान इस बयान वस्तु द्वारा निष्पादित से प्रभावित पंक्तियों की संख्या देता देखें।

इसका मतलब यह है तो आप बस सकते हैं: -

$rowsAffected = $stmt->rowCount(); 

सीधे निष्पादित बुला() और आप प्रभावित पंक्तियों की संख्या मिलना चाहिए के बाद।

+0

मैंने डीबी कनेक्शन को शामिल करने के लिए अभी अपना प्रश्न संपादित किया है। धन्यवाद – Sthe

+1

मेरा समाधान आपके लिए [Zend_Db_Statement_Pdo] (http://framework.zend.com/apidoc/1.11/db_Db_Statement_Pdo.html#%5CZend_Db_Statement_Pdo) के रूप में काम करना चाहिए एक पंक्ति गणना() विधि है। – vascowhite

+0

धन्यवाद। यह वास्तव में कारगर है। मैंने गलत वस्तु पर 'rowCount() 'लागू करने का प्रयास किया। धन्यवाद :-) – Sthe

संबंधित मुद्दे

 संबंधित मुद्दे