1

PHP 5.2.17 (cli) (ビルド: 2011 年 1 月 17 日 12:51:24) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0、Copyright (c) 1998-2010 Zend Technologies

これが私の機能です

public function remove($id){
        $params = array(':id' => $id);
        $delete_loan = $this->ext_conn->prepare("DELETE FROM loan_program WHERE id = :id");
        $delete_loan->exec($params);
        $affected_rows = $delete_loan->rowCount();  //and not this?
        if ($affected_rows == 1) {
            return array('status' => 'success');
        } else {
            return array('status' => 'failure', 'reason' => 'delete_failed', 'rowcount' => $affected_rows, 'errornfo' => $delete_loan->errorInfo());
        }
    }

私はそれを呼び出して、データベース内の行の ID を渡しています。行はデータベースから削除されますが、if ($affected_rows == 1) { は常に false です。errorInfo() は [0] => 0000 の配列を返します。

私は PDO マニュアルを読み、http: //wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers#INSERT.2C_DELETE.2C_UPDATE_Prepared_Queries を参照していました。

rowcount() は 1 を返すべきではありません (または、削除するために渡された値がいくつの ID に渡されてもかまいませんか?

前もって感謝します。

4

1 に答える 1