PHP致命错误:在非对象上调用成员函数prepare()

杰克·布朗

尝试调用函数时,出现以下错误:

Fatal error: Call to a member function prepare() on a non-object in /var/www/includes/functions.php on line 32

我正在使用以下代码从另一个页面调用此函数:

if (login($email, $password, $mysql) == true) {
        // Login success 
        header('Location: ../home.php');
    } else {
        // Login failed 
        header('Location: ../error.php?error=1');
    }

下面是该函数的代码:

function login($email, $password, $mysql) {
// Using prepared statements means that SQL injection is not possible. 
if ($stmt = $mysql->prepare("SELECT id, password, salt //Line 32
    FROM members
   WHERE email = ?
    LIMIT 1")) {
    $stmt->bind_param('s', $email);  // Bind "$email" to parameter.
    $stmt->execute();    // Execute the prepared query.
    $stmt->store_result();

我阅读了其他问题,看了anwsers,通过阅读这些内容,我相信$ mysql变量是问题所在。

我尝试在我的functions.php的顶部添加以下代码,但仍得到相同的结果:

global $mysql

在我的functions.php页面上,我还有以下代码行:

include ("db_connect.php");

db_connect.php包含以下内容:

<?php
include_once 'db_config.php';   // Database information
$mysql = mysql_connect(HOST, USER, PASSWORD, DATABASE);
?>
约翰·史密斯

global 应该在功能范围内使用,而不是在功能范围之前/之前使用。

function myfunc(){ // Do NOT pass anything called $mysql to this function!
    global $mysql;
    do_stuff_with_mysql();
}

当然,必须在声明函数(在db_connect.php文件中)之前定义它

$mysql = new PDO($dsn, $user, $pass);

参见:http : //fr2.php.net/manual/en/language.variables.scope.php另外,您可能要考虑面向对象的编程:

class DB {
    private $pdo;
    public function __construct() { $this->pdo = new PDO(...); }
    public function myfunction() { /* use $this->pdo here */ }
}

重要说明: mysql_*现在不推荐使用功能。http://www.php.net/manual/zh/book.pdo.php

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

致命错误:在非对象错误上调用成员函数prepare()

来自分类Dev

致命错误:在非对象错误上调用成员函数prepare()

来自分类Dev

PDO致命错误-在非对象上调用成员函数prepare()

来自分类Dev

“致命错误:在非对象上调用成员函数prepare()。”

来自分类Dev

PDO致命错误-在非对象上调用成员函数prepare()

来自分类Dev

致命错误:“在非对象上调用成员函数prepare()”

来自分类Dev

致命错误:在非对象上调用成员函数prepare(),调用prepare语句的对象不为null

来自分类Dev

致命错误在非对象PHP上调用成员函数login()

来自分类Dev

PHP致命错误:在非对象上调用成员函数hasAttribute()

来自分类Dev

PHP致命错误:在非对象上调用成员函数asXML()

来自分类Dev

PHP:致命错误在非对象上调用成员函数format()

来自分类Dev

致命错误:在PHP的非对象上调用成员函数query()

来自分类Dev

PHP:致命错误:在非对象上调用成员函数insert()

来自分类Dev

PDO-致命错误:在非对象上调用成员函数prepare()

来自分类Dev

致命错误:在第16行上的非对象上调用成员函数prepare()

来自分类Dev

致命错误:在第15行的非对象上调用成员函数prepare()

来自分类Dev

PDO致命错误:在非对象上调用成员函数prepare()(使用类)

来自分类Dev

错误致命错误:在非对象上调用成员函数insert()

来自分类Dev

在非对象上调用成员函数prepare()错误消息

来自分类Dev

PDO错误-在非对象上调用成员函数prepare()

来自分类Dev

致命错误:在非对象上调用成员函数insert()

来自分类Dev

致命错误:在非对象上调用成员函数error()

来自分类Dev

致命错误:在非对象上调用成员函数first()

来自分类Dev

Magento致命错误:在非对象上调用成员函数addFieldToFilter()

来自分类Dev

Magento致命错误:在非对象上调用成员函数save()

来自分类Dev

致命错误:在非对象上调用成员函数authorise()

来自分类Dev

致命错误:在非对象上调用成员函数addSnippet()

来自分类Dev

致命错误:在非对象上调用成员函数query()

来自分类Dev

致命错误:在非对象上调用成员函数result()

Related 相关文章

  1. 1

    致命错误:在非对象错误上调用成员函数prepare()

  2. 2

    致命错误:在非对象错误上调用成员函数prepare()

  3. 3

    PDO致命错误-在非对象上调用成员函数prepare()

  4. 4

    “致命错误:在非对象上调用成员函数prepare()。”

  5. 5

    PDO致命错误-在非对象上调用成员函数prepare()

  6. 6

    致命错误:“在非对象上调用成员函数prepare()”

  7. 7

    致命错误:在非对象上调用成员函数prepare(),调用prepare语句的对象不为null

  8. 8

    致命错误在非对象PHP上调用成员函数login()

  9. 9

    PHP致命错误:在非对象上调用成员函数hasAttribute()

  10. 10

    PHP致命错误:在非对象上调用成员函数asXML()

  11. 11

    PHP:致命错误在非对象上调用成员函数format()

  12. 12

    致命错误:在PHP的非对象上调用成员函数query()

  13. 13

    PHP:致命错误:在非对象上调用成员函数insert()

  14. 14

    PDO-致命错误:在非对象上调用成员函数prepare()

  15. 15

    致命错误:在第16行上的非对象上调用成员函数prepare()

  16. 16

    致命错误:在第15行的非对象上调用成员函数prepare()

  17. 17

    PDO致命错误:在非对象上调用成员函数prepare()(使用类)

  18. 18

    错误致命错误:在非对象上调用成员函数insert()

  19. 19

    在非对象上调用成员函数prepare()错误消息

  20. 20

    PDO错误-在非对象上调用成员函数prepare()

  21. 21

    致命错误:在非对象上调用成员函数insert()

  22. 22

    致命错误:在非对象上调用成员函数error()

  23. 23

    致命错误:在非对象上调用成员函数first()

  24. 24

    Magento致命错误:在非对象上调用成员函数addFieldToFilter()

  25. 25

    Magento致命错误:在非对象上调用成员函数save()

  26. 26

    致命错误:在非对象上调用成员函数authorise()

  27. 27

    致命错误:在非对象上调用成员函数addSnippet()

  28. 28

    致命错误:在非对象上调用成员函数query()

  29. 29

    致命错误:在非对象上调用成员函数result()

热门标签

归档