0

PDO を使用してデータを送信し、クラス変数を public ではなく private にすることはできますか?

準備と実行を使用できるようにしたいのですが、実行では単なる配列($ classObject)ですが、パブリック変数が必要です。プライベート変数を使用し、準備と実行を使用する方法はありますか?

例:

$query = $this->handle->prepare("INSERT INTO `$table` ($fields) VALUES ($values)");
$query->execute(array($data));
4

1 に答える 1

1

クエリのパラメーターにデータをバインドしようとしています。

$value = 'Test';
$smt = $this->handle->prepare("
    INSERT INTO `$table` ('field1') VALUES (:value1)");
$smt->execute(array( ':value1' => $test ));

この例では、単一の変数を使用しましたが、この例は単純に配列に展開することができます。

$data = array( 'field1' => 'Foo', 'field2' => 'Bar' );

$columns = implode( ", ", array_keys( $data ) );
$values  = ':' . implode( ", :", array_keys( $data ) );

$smt = $this->handle->prepare("
   INSERT INTO `$table` ($columns) VALUES ($values)");
$smt->execute($data);
于 2012-09-19T17:35:59.733 に答える