此代码出错:
Fatal error: Call to a member function prepare() on a non-object in C:\Users\fel\VertrigoServ\www\login\validation.php on line 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
未定义。您没有在函数内部声明它,也没有作为参数传入。
您需要传入它(好的),或者在全局命名空间中定义它,并通过将 global $pdo
放在顶部(坏)使其对您的函数可用。
关于php - pdo - 在非对象上调用成员函数 prepare(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5346186/