【发布时间】:2011-07-17 19:12:36
【问题描述】:
此代码得到错误:
致命错误:在非对象上调用成员函数 prepare() C:\Users\fel\VertrigoServ\www\login\validation.php 在第 42 行
代码:
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代替? -
是的,这是本意。功能是什么?谢谢
-
此外 - 我认为
PDOStatement::bindValue会自动引用值(与PDOStatement::execute相同),所以我猜你不需要再次转义它?