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

时间:2015-12-29 08:32:27

标签: php mysql function prepare

代码:

function insertheadright($name) {
    $str1 = xss($name);
    $sql = "INSERT INTO `nav-menu` (`id`, `Head-categories`, `RightMenu`, `LeftMenu`, `Sub-categories`, `Show-sub`, `Show-head`, `keywords`, `description`) VALUES (NULL, ?, '1', '0', '0', '0', '1', '', '')";
    $result = $connect->prepare($sql);
    $result->bindValue(1, $str1);
    $query = $result->execute();
    if ($query) {
        $num = 1;
        return $num;
    } else {
        $num = 0;
        return $num;
    }
}

代码2:

$object = insertheadright($_POST["nav-name"]);
if (isset($object)) {
    if ($object == 1)
        echo "<div class=ok>منو با موفقیت افزوده شد</div>";
    else
        echo '<div class="error">مشکل در ثبت فهرست</div>';
}

错误:

  

注意:未定义的变量:在第8行连接/home/user/domains/site.com/public_html/inc/nav/function-nav.php致命错误:在/中调用null上的成员函数prepare()第8行的home / designpr / domains / shrg.ir / public_html / inc / nav / function-nav.php

1 个答案:

答案 0 :(得分:1)

使您的函数可以访问connect变量,如下所示:

function insertheadright($name) {
    global $connect;

或者,您可以将其作为参数传递给函数:

function insertheadright($connect, $name) {

根据您的代码,可能会比另一个更好,但只要您保持一致,您就可以了。