1

私は CakePHP アプリケーションを持っており、MySQL パケット サイズに対して大きすぎるファイルをアップロードしようとするユーザーの試みに反応することに興味があります。MySQL エラーを取得し、それに基づいてユーザーにエラー メッセージを提供したいと考えています。

CakePHP は内部で PDO を使用しているようですが、アクセス方法がわかりません。ユーザー名、パスワードなどを使用して新しい PDO 接続を作成する必要がないように、CakePHP の PDO 接続を借用したいと思います (また、同じ DB への複数の接続による問題を心配する必要もありません)。など)。

CakePHP ( http://api.cakephp.org/2.2/class-PDO.html ) に PDO クラスがあるようですが、 errorCode() メソッドを呼び出すために実際にアクセスする方法がわかりません。 .

4

2 に答える 2

3

これはおそらく必要な方法です。保存操作後のコントローラーで$this->SomeModel->getDataSource()->lastError()、エラーを取得するために使用できます。

于 2013-05-12T17:37:17.233 に答える
1

または....これをチェックしてください:

if( is_a( $this->SomeModel->getDataSource(), "DboSource") ) {
    $myPDO = $this->SomeModel->getDataSource()->getConnection();
    debug($myPDO.errorCode()); // or whatever...
}

とにかく、これについてのあなたの助けに感謝します-私が自分でこれを見つけるには、ドキュメンテーションにホップが多すぎました.

(これをあなたの回答へのコメントとしてではなく、ここに投稿して、より目立つようにします)

于 2013-05-13T22:50:41.440 に答える