一尘不染

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

php

此代码 出现错误

致命错误:在第42行的C:\ Users \ fel \ VertrigoServ \ www \ login \
validation.php中的非对象上调用成员函数prepare()

码:

   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的新手


阅读 259

收藏
2020-05-26

共1个答案

一尘不染

$pdo未定义。您没有在函数内部声明它,也没有将其作为参数传递。

您需要将其传递(好),或在全局名称空间中定义它,并通过将其global $pdo放在顶部(坏)使其对您的函数可用。

2020-05-26