0

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

我希望能够使用准备和执行,在执行时它只是数组($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 回答