我一直在试图掌握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();
这里我不确定如何输入我的值(因此???)。