PDO交易插入?而不是价值?

时间:2013-06-22 18:19:03

标签: php pdo

以下是代码片段:

$pqry = $dbcon->prepare("INSERT INTO pr_users VALUES (NULL,'?','?',MD5('?'),MD5('?'))"); 
$dbcon->beginTransaction(); 
$pqry->execute(array($qryfields['email'],$qryfields['pw'],$qryfields['pw'],$qryfields['pw'].time())); 
$lastID = $dbcon->lastInsertId();
$dbcon->commit(); 

将行插入为:

? | ? | hashed value of ? | hashed value of ?+time()

我应该使用:key吗?

1 个答案:

答案 0 :(得分:2)

您不需要占位符周围的引号:

$pqry = $dbcon->prepare("INSERT INTO pr_users VALUES (NULL,?,?,MD5(?),MD5(?))"); 

他们让PDO认为你想要字符串'?'而不是占位符行为。

这在文档中没有明确说明,但从示例on the manual page中可以清楚地看出。