通过PDO语句添加值数组

时间:2013-03-30 01:44:46

标签: php mysql pdo

我一直在试图掌握PDO,我对插入语句有疑问。我正在尝试添加一组值(即,以下示例)

data = array (
    fname -> Jay
    lname -> Doe
    phone -> 8137587733
    email -> me@me.com
);

字段和值分为以下字符串:

$fields = '`' . implode('`, `', array_keys($data)) . '`';
$values = '\'' . implode('\', \'', $data) . '\'';

...但我希望能够使用预准备语句来防止可能的SQL注入。

并非所有字段都是必需的。例如,phone(来自$ _POST ['phone'])可能为空,数据库字段接受此字段的NULL输入。

旧方式可以:

mysql_query("INSERT INTO 'users' ($fields) VALUES ($values)");

以某种方式进行调整以与PDO一起使用,或者我是否需要执行以下操作:

$sql = "INSERT INTO users VALUES (:fname, :lname, :phone:, :email)";
$st = $conn->prepare($sql);
$st->bindValue( ":fname", ???, PDO::PARAM_STR );
$st->bindValue( ":lname", ???, PDO::PARAM_STR );
$st->bindValue( ":phone", ???, PDO::PARAM_STR );
$st->bindValue( ":email", ???, PDO::PARAM_STR );
$st->execute();

这里我不确定如何输入我的值(因此???)。

0 个答案:

没有答案