此代码得到错误上:PDO - 调用一个成员函数准备()非对象
Fatal error: Call to a member function prepare() on a non-object in C:\Users\fel\VertrigoServ\www\login\validation.php on line 42
CODE:
function repetirDados($email) {
if(!empty($_POST['email'])) {
$query = "SELECT email FROM users WHERE email = ?";
$stmt = $pdo->prepare($query); // error line: line 42
$email = mysql_real_escape_string($_POST['email']);
$stmt->bindValue(1, $email);
$ok = $stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($results == 0) {
return true;
} else {
echo '<h1>something</h1>';
return false;
}
}
}
什么是可能的原因是什么? 另外一个问题,和mysql_num_rows
有什么相同?对不起,我是pdo新手
'PDO'作为'quote'函数来转义值,它是否打算使用'mysql_real_escape_string'来代替? – Laimoncijus 2011-03-17 22:46:46
是的意图。有什么功能?谢谢 – anvd 2011-03-17 22:48:10
此外 - 我认为'PDOStatement :: bindValue'确实会自动引用值(与'PDOStatement :: execute'一样),所以我的猜测是你不需要再次转义它? – Laimoncijus 2011-03-17 22:54:29