PDO和私有类变量

时间:2012-09-19 17:11:45

标签: php pdo

是否可以使用PDO提交数据并将类变量设为私有而非公开?

我希望能够使用prepare和execute,在执行它只是数组($ classObject),但它必须有公共变量。有没有办法使用私有变量,仍然使用准备和执行?

示例:

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

1 个答案:

答案 0 :(得分: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);