当前位置: 首页 > 面试题库 >

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

隆飞驰
2023-03-14
问题内容

此代码 出现错误

致命错误:在第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的新手


问题答案:

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

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



 类似资料:
  • 问题内容: 我正在尝试在此准备好的语句中绑定变量,但我一直收到错误: 调用该函数,并将变量传递给它。当我更改函数以仅回显变量时,该变量会在页面上正常打印,但是如果我尝试在此处绑定它,则会收到错误。有人可以帮忙吗? 我知道函数没有完全写在这里,但这不应该是一个问题。我不明白为什么我会收到此错误。 问题答案: 正如错误消息所说,这似乎不是一个对象。尝试在您的prepare- call之后使用来调试它。

  • 问题内容: 因此,我正在重构代码以实现更多的OOP。我设置了一个类来保存页面属性。 稍后,我像这样调用set_page_title()函数 当我收到错误消息时: 调用非对象上的成员函数set_page_title() 那我想念什么呢? 问题答案: 这意味着它不是对象的实例。我们可以看到您用来初始化变量的代码吗? 当您期望特定的对象类型时,还可以使用PHP的类型提示功能 Docs 在违反逻辑时得到错

  • 问题内容: 我的查询有问题。我最近改用了PDO,这对我来说是新的。现在,我需要在查询中使用JOIN来从另一个表中获取数据,而无需执行两次执行。 问题是,我收到此错误: 我不明白问题是什么。这是我的代码的样子: 或简称为查询: 我想要的是,从用户ID为session且请求为0的朋友那里获取所有行。但是然后我想获取用户中那些朋友的ID,以便我可以链接到他们的个人资料。注意 感谢您提供任何反馈意见,不必

  • 问题内容: 我正在尝试编写一个PHP函数。这很简单。这只是一个查询数据库的准备好的语句,但是我无法使它正常工作。我一直收到非对象上的错误消息,调用成员函数prepare()。这是代码: 每当我调用该函数时,都会收到该错误。有人可以帮忙吗? 问题答案: 这是一个范围错误。您正在创建一个全局变量。因此,当您输入函数时,全局变量不可用。您有5个真实选择。 1.使用全局关键字 这不是一个好主意,因为它使维

  • 请帮帮我 致命错误:在第104行的/home/u357965800/public_html/include/class.admin.php中对非对象调用成员函数prepare()

  • 问题内容: 我正在尝试执行一些查询以获取有关某些图像的信息页面。我写了一个函数 根据这些图片的受欢迎程度选择页面。我已经编写了一个处理与数据库交互的类,并保存了有关图像的信息。当我尝试运行此程序时,出现错误。 是mysqli结果集,所以我对为什么它不起作用感到困惑。 问题答案: 那是因为您的查询中有错误。 错误时将返回false。将其更改为: 如果有错误,那应该抛出异常…