$where = $table->getAdapter()->quoteInto(‘COMPANY_ID = ?’, $Company_ID );
の使い方

Zend Frameworkで

getAdapter()

quoteInfo()
の使い方を調べたまとめ

CompanyController.php(一部抜粋)
[php]
public function editAction()
{
if(!isset($_POST[‘Company_ID’]) || !isset($_POST[‘Company_Edit’]))
{
}
else{
$Company_ID=$_POST[“Company_ID”];
$edit=new Company();
$data = array(
‘COMPANY_NAME’=>$_POST[“Company_Edit”],
‘INVALID_FLAG’=>0,
‘DELETE_FLAG’=>0,
);
$where = $table->getAdapter()->quoteInto(‘COMPANY_ID = ?’, $Company_ID );
$edit->update($data , $where);
}
}
[/php]

↓(調べた)
テーブルの行の更新 ¶

データベースのテーブルの行を更新するには、テーブルクラスの update メソッドを使用します。
このメソッドには二つの引数を指定します。
変更するカラムと それらのカラムに代入する新しい値を表す連想配列、 そして UPDATE 操作の対象となる行を指定する WHERE 句で使用する SQL
式です。

例17 テーブルの行の更新の例

$table = new Bugs();

$data = array(
‘updated_on’ => ‘2007-03-23’,
‘bug_status’ => ‘FIXED’
);

$where = $table->getAdapter()->quoteInto(‘bug_id = ?’, 1234);

$table->update($data, $where);
テーブルの update() メソッドはデータベースアダプタの update() メソッドへのプロキシなので、 二番目の引数は、SQL
式の配列にできます。 その場合、それぞれの式が論理演算子 AND で連結されます。

注意: SQL 式の中の値や識別子は、自動的にはクォートされません。 クォートが必要な値や識別子を使用する場合は、自分でクォートする必要があります。
データベースアダプタの quote()、 quoteInto() および quoteIdentifier() を使用してください。

参考記事
http://framework.zend.com/manu……table.html

↓(メモ)
公式リファレンスにはこう書いてある。
今回は、 $Company_ID の変数を、カラム COMPANY_IDに入れたい。
コロンとかの差かな?
↓(調べた)

Zend_Db_Table における独自の検索メソッドの定義 ¶
もし特定の条件によるテーブルの検索を頻繁に行うのなら、 独自の検索メソッドをテーブルクラスで実装できます。
大半の問い合わせは fetchAll() を用いて書くことができますが、 アプリケーション内の複数の箇所でクエリを実行する場合には
問い合わせ条件を指定するコードが重複してしまいます。
そんな場合は、テーブルクラスでメソッドを実装し、 よく使う問い合わせを定義しておいたほうが便利です。

例36 状況を指定してバグを検索する独自メソッド

class Bugs extends Zend_Db_Table_Abstract
{
protected $_name = ‘bugs’;

public function findByStatus($status)
{
$where = $this->getAdapter()->quoteInto(‘bug_status = ?’, $status);
return $this->fetchAll($where, ‘bug_id’);
}
}

参考記事
http://framework.zend.com/manu……table.html

↓(メモ)
とのことなので、書き方はあってる。
$where = $table->getAdapter()->quoteInto(‘COMPANY_ID = ?’, $Company_ID );
なんだろうか。

$_POST あたりがうまく渡されてないのかな。
echoして調べてみよう。