在预处理语句PDO PHP中绑定值数组

时间:2015-05-04 02:33:32

标签: php mysql pdo

我试图将我的值绑定到PDO中的预准备语句中。

以下是使用预准备语句块的先决条件代码:

machine[i].name = "Cola";
machine[i].price = .80;

以下是我准备这些值并进行必要插入的部分:

$tab = 'air_user';
$fie = array('USER_NAME', 'USER_PASSWORD' , 'USER_EMAIL');
$name = $_POST['name'];
$pass = $_POST['password'];
$email = $_POST['email'];
$val = array(
    'name' => $name,
    'pass' => $pass,
    'email' => $email
);
$this->connect($tab,$fie,$val);

那么为什么我的INSERT不工作?是的,任何人都可以帮我看看它,我尝试了很多东西,没有一个工作。

1 个答案:

答案 0 :(得分:8)

不,不要sed你要在implode内传递的值,它必须是一个数组:

->execute()

或@ Augwa的建议:

$fields = implode(", ", $fields);
// $values = implode(", ", $values); // DONT IMPLODE!
$values = array_values($values);

$stmt = $con->prepare("INSERT INTO $table(ID,$fields) VALUES (NULL, ?,?,?)");
$stmt->execute($values);