php - pdo - 在非对象上调用成员函数 prepare()

标签 php 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

代码:

   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/

相关文章:

php - 使用 PHP 和 DOTNET 类访问 Windows 注册表

php - 在 INSERT 之前验证一个条件中的多行

php - 如何防止 PHP PDO 通过 jQuery AJAX 插入的 MySQL varchar 中的转义字符

php - 在 PDO 查询中执行 foreach 循环

php - 使用 PHP + PDO for Sqlite CREATE TABLE 部分失败

php - 数据库返回错误,无法弄清楚我哪里出错了?

php - 使用有限的内存处理来自 mysql 的大型结果集

php - Cakephp 2 : need help on misconfiguration with PDOStatement

php - 如何用 PHP 交换字符串中两个不同字符的值? A变成B,B变成A

php - undefined index 和 undefined variable ,但两者都已定义! (我认为....)