mysqli_prepare() expects parameter 1 to be mysqli, null given

265
02 августа 2017, 22:05

файл lib.inc.php

<?php
require "config.inc.php";
function addItemToCatalog( $title, $author, $pubyear, $price){
    $sql = "INSERT INTO catalog (title, author, pubyear, price) VALUES (?, ?, ?, ?,)";
    $stmt = mysqli_prepare($link, $sql);
    if(!$stmt){
        return false;
    }else{
        mysqli_stmt_bind_param($stmt, "ssii", $title, $author, $pubyear, $price);
        mysqli_stmt_execute($stmt);
        mysqli_close($stmt);
        return true;
    }
}

файл save2cat.php

<?php
    // подключение библиотек
    require "secure/session.inc.php";
    require "../inc/lib.inc.php";
    require "../inc/config.inc.php";
    if($_SERVER['REQUEST_METHOD']=='POST'){
        $title = $_POST['title'];
        $author = $_POST['author'];
        $pubyear = $_POST['pubyear'];
        $price = $_POST['price'];
    }else{
        echo "Неудачно отправленно";
    }
    if(!addItemToCatalog( $title, $author, $pubyear, $price)){
        echo 'Произошла ошибка при добавлении товара в корзину';
    }else{
        header("Location: add2cat.php");
        exit;
    }

файл config.inc.php

<?php
const DB_HOST = 'localhost';
const DB_LOGIN = 'root';
const DB_PASSWORD = '';
const DB_NAME = 'eshop';
const ORDER_LOG = 'orders.log';
$basket  = array( );
$count = 0;
$link = mysqli_connect(DB_HOST, DB_LOGIN, DB_PASSWORD, DB_NAME);
if(!$link){
    echo mysqli_connect_error();
}else{
    echo "Good";
}

уже global $link пробывал и передавал $link как аргумент функции но ошибка остается,соединение с базой происходит успешно. GoodGood Warning: mysqli_prepare() expects parameter 1 to be mysqli, null given in C:\OpenServer\domains\specialist2\eshop\inc\lib.inc.php on line 7 Произошла ошибка при добавлении товара в корзину