我很难使用PDO
. 这是我尝试过的两个选项。然而,没有人真正更新过数据库。
查询一:
$dateLastLoggedIn = date("Y-m-d H:i:s");
$username = mysql_real_escape_string($_POST['User']);
$sth = $dbh->prepare("UPDATE users SET dateLastLoggedIn = ? WHERE username = ?");
$sth->execute(array($dateLastLoggedIn,$username));
print_r($sth->queryString);
只是打印出来UPDATE users SET dateLastLoggedIn = ? WHERE username = ?
查询 2:
$dateLastLoggedIn = date("Y-m-d H:i:s");
$username = mysql_real_escape_string($_POST['User']);
$sql = "UPDATE users SET dateLastLoggedIn = '".$dateLastLoggedIn."' WHERE username = '".$username."'";
$sth = $dbh->prepare($sql);
$sth->execute();
print_r($sth->queryString);
打印出来UPDATE users SET dateLastLoggedIn = '2012-08-03 13:36:32' WHERE username = 'testuser'
第二个选项生成正确的查询,但实际上并没有更新数据。我可以手动运行生成的脚本并且它可以工作,但不能通过execute()
. 有什么我做错了吗?我还是新手PDO
,所以这可能是一个简单的修复。
已解决:请参阅我在已接受答案下的最后评论。