php - fatal error : Call to a member function prepare() on null

标签 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>';
}

错误:

Notice: Undefined variable: connect in /home/user/domains/site.com/public_html/inc/nav/function-nav.php on line 8 Fatal error: Call to a member function prepare() on null in /home/designpr/domains/shrg.ir/public_html/inc/nav/function-nav.php on line 8

最佳答案

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

function insertheadright($name) {
    global $connect;

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

function insertheadright($connect, $name) {

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

关于php - fatal error : Call to a member function prepare() on null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34507352/

相关文章:

php - 在 Codeigniter/PHP 中显示类别

java - 如何在java中使用Date类型并从键盘读取值

mysql - 如何连接两个表但包含所有行,即使是空白或空?

javascript - 你能帮我把函数 grape 和 apple 做成一个函数吗?

jquery - 加载图像数组后执行函数

c++ - 在 vector 使用中找不到 fatal error

php - 简单更新/编辑数据不适用于 PHP/MySql

php - 尝试获取php中标签的值

sql - MySQL 列值透视

php - 如何使 HTML 按钮的 onclick 事件随机触发两个不同功能之一?