在PHP中的非对象错误上调用成员函数exec()

时间:2015-02-11 06:11:59

标签: php mysql exec

function add_member($idmembers, $firstname, $lastname,  $email, $phone, $level, $password) {
global $db;
$query = "INSERT INTO members
             (idmembers,  first, last, email, phone, level, password)
          VALUES
                ($idmembers,  '$firstname', '$lastname', '$email', '$phone', '$level', '$password')";
var_dump($query);
$db->exec($query);

}

此代码从var转储中获取此错误和信息:

  

string(224)“INSERT INTO成员(idmembers,first,last,email,phone,level,password)VALUES(''Gina','Hill','hill @me.com','7778889898',' m','803591803e3d6e646cd3ee4a35fee6dd')“   致命错误:在第26行的J:\ XAMPP \ htdocs \ WEBSITE \ register.php中调用null上的成员函数exec()

我已经检查过将查询添加到数据库中以确保查询正常工作并且工作正常。

1 个答案:

答案 0 :(得分:0)

我怀疑$db不是对象(如果它实际上不是NULL),或者$db没有名为exec的函数。

我建议您验证您与数据库的连接是否成功,并验证$db是否为连接对象。验证exec是否为对象的有效函数。

此外,您的代码似乎容易受到 SQL注入的攻击。 (我们没有看到传递给函数的参数已被“转义”为安全包含在SQL文本中。)我们更喜欢看到预处理语句绑定占位符< /强>