dpea85385 2011-03-17 22:42
浏览 43
已采纳

pdo - 在非对象上调用成员函数prepare()[复制]

This code get an error:

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;
            }
        }
    }

What is the possible cause? Another question, What is the equivalent to mysql_num_rows? sorry, I am newbie with pdo

</div>
  • 写回答

9条回答 默认 最新

  • douqiu1604 2011-03-17 22:44
    关注

    $pdo is undefined. You're not declaring it inside the function, and it isn't being passed in as an argument.

    You need to either pass it in (good), or define it in the global namespace and make it available to your function by placing global $pdo at the top (bad).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?