@newdancer

Как исправить ошибку Notice: Undefined variable?

Как исправить ошибку Notice: Undefined variable?
Fatal error: Call to a member function query() on a non-object
Ошибка возникает на этой строке:
$result = $conn->query($query);
сам запрос query выглядит так
$query = "INSERT INTO movie (date, kpID, imdbID, categoryID, poster, title_rus, title_orig, time, slogan, description, videoURL, ratingMPAA, ratingAgeLimits, premiere, premiereRU, budget) values ('$date', '$kpID', '$imdbID', '$categoryID', '$poster', '$title_rus', '$title_orig', '$time', '$slogan', '$description', '$videoURL', '$ratingMPAA', '$ratingAgeLimits', '$premiere', '$premiereRU', '$budget')";

в файл через include подключается бд
include ("connectDB.php"); 
$conn = get_db_connection();

сам connectDB выглядит так
function get_db_connection() { 
    $host_name = "localhost"; 
    $database = "xxxxx"; 
    $username = "xxxxxx"; 
    $password = "xxxxx";
    $conn = new mysqli($host_name, $username, $password, $database); 
    if (mysqli_connect_errno()) { 
        printf("Connect failed: %s\n", mysqli_connect_error()); 
        exit(); 
    } 
    echo 'CONNECTED'; 
    return $conn; 
}

Подключение происходит и первый раз запрос этот выполняется:
$query = "SELECT kpID FROM movie where kpID=".$id." limit 1";
$result = $conn->query($query);
$row = $result->fetch_assoc();

Но во второй раз на чем и возникает ошибка почему то значение $conn = null
Что не так?
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
alsopub
@alsopub
Есть подозрение что вызов "во второй раз" происходит в каком-то другом скрипте, где переменная $conn оказывается неопределенной, в силу того что она не глобальная. Либо же вы во второй раз выполняете запрос внутри какой-то функции. Либо же на самом деле "во второй раз" выполняется раньше. Во всех трех случаях решение проблемы разное. Дайте больше информации про "второй раз".
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Uwe_Boll
@Uwe_Boll
Я Злой и Страшный Уве Болл в Разработке знаю Толк
Для начала Научись читать информацию об ошибках
Тебе черным по белому Написали текст ошибки
передай в свою функцию или в свой метод объект и все будет работать то есть
результат Вот этого
$conn = get_db_connection();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы