Неустранимая ошибка: необработанная ошибка: вызов неопределенной функции Трассировка стека: # 0 {main}

0

Я начал изучать PHP, и я столкнулся с такой проблемой. Функция get_single_all работает нормально, но get_single_by_id производит:

Неустранимая ошибка: Непринятая ошибка: вызов неопределенной функции get_single_by_id() в C:\xampp\htdocs\urb\content-single.php: 3 Трассировка стека: # 0 {main} выбрано в C:\xampp\htdocs\urb\content -single.php в строке 3

Я действительно пытался найти решение проблемы, но ничего не нашел для себя. Вот мой код и скриншот базы данных

function get_singles_all() {
    global $db;
    $singles = $db->query("SELECT * FROM singles");
    return $singles;
}

function get_single_by_id($id) {
    global $db;
    $singles = $db->query("SELECT * FROM singles WHERE id =$id");
    foreach ($singles as $single) {
        return $single;
    }
 }

<?php
$single = get_single_by_id($_GET['id']);
?>

Спасибо!

  • 1
    Это то, как ваш файл читает строку за строкой? Вы только запускаете секцию PHP прямо перед строкой $single= , это означает, что приведенные выше определения функций были просто распечатаны на клиенте, потому что вы не сообщили интерпретатору, что это был код. Попробуйте переместить <?php в начало файла.
  • 1
    Ваш открытый тег php находится не в том месте. Поместите тег <? Php open в первую строку вашего файла, где вы начинаете код.
Показать ещё 2 комментария
Теги:
database

1 ответ

0

Как я вижу здесь, вы пытаетесь return результат из цикла здесь в этой строке:

foreach ($singles as $single) {
    return $single;
}

и это действительно плохая идея. Поэтому я предлагаю вам сразу вернуть переменную $singles singleles, поскольку вы извлекаете данные по id так, чтобы нулевой результат или только один результат, возвращаемый оператором SQL, поскольку идентификатор является первичным ключом в вашей базе данных (я надеюсь, что вы это делаете!). здесь фрагмент:

function get_single_by_id($id) {
        global $db;
        $singles = $db->query("SELECT * FROM singles WHERE id =$id");
        return $singles;
}

PS: Следите за размещением открытого тега php, он должен быть чуть выше объявления ваших функций.

надеюсь, я толкнул вас дальше.

  • 0
    это не работает, та же ошибка
  • 0
    возможно, если вы предоставите скриншот структуры вашей базы данных, мы сможем решить проблему.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню