是否可以使用PDO提交数据并将类变量设为私有而非公开?
我希望能够使用prepare和execute,在执行它只是数组($ classObject),但它必须有公共变量。有没有办法使用私有变量,仍然使用准备和执行?
示例:
$query = $this->handle->prepare("INSERT INTO `$table` ($fields) VALUES ($values)");
$query->execute(array($data));
答案 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);