Перейти к содержимому



Пользовательские функции PHP + MySQLi

#1 ZloiKombat
ZloiKombat
  • Неактивные
  • 3 сообщений
  • Репутация: 0
0

Отправлено 14 января 2014 - 12:30

Доброго времени суток.
Помогите, пожалуйста, решить задачку.
Возможно, я просто что-то упускаю из вида, но не могу никак заставить MySQLi запросы работать внутри пользовательских функций.

Вот пример:

$connect = new mysqli("localhost", "логин", "пароль", "база");
$connect->set_charset("utf8");
function anti($string)
{
	$turr = $connect->query("SELECT `id` FROM `table` WHERE `id`='".$string."';");
	return $turr['id'];
}
echo anti(10);

Подобное наотрез отказывается работать на сайте. Обрезает страницу, предположительно, не хочет работать потому что не видит переменную $connect. В остальном с MySQLi проблем по сайту нет, работает везде как часы, кроме пользовательской функции((
P.S global $connect; - Так пробовал, не помогло.

 

 

  • 0

#2 matroskin8
matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 14 января 2014 - 14:23

Здравствуйте.
Вы бы выложили текст ошибок, которые вылазят на страницу. Если ошибки не показываются, тогда нужно включить показ ошибок.
По теме:
1. В функцию все же нужно передавать объект соединения или брать его из глобальной области.
2. Для того, чтобы функция вернула массив, этот массив нужно вначале получить из результат запроса.
3. Если в запросе используется число (а для ID это так), то заключать его в кавычки совсем не обязательно... и точка с запятой там лишние.
Так должно работать:
$connect = new mysqli("localhost", "логин", "пароль", "база");
$connect->set_charset("utf8");
function anti($string)
{
global $connect; // получаем объект соединения
$turr = $connect->query("SELECT `id` FROM `table` WHERE `id`=$string");
    $turr = $turr->fetch_assoc(); // получаем массив
    return $turr['id']; // возвращаем элемент массива
}
echo anti(10);

  • 0


#3 ZloiKombat
ZloiKombat
    Topic Starter
  • Неактивные
  • 3 сообщений
  • Репутация: 0

Отправлено 14 января 2014 - 17:45

matroskin8, Большое спасибо за помощь. Я то fetch_assoc забывал дописать, то его дописал, но global пропустил. Короче глючит меня, вокруг да около ходил. Спасибо что помог связать картинку.
  • 0

#4 matroskin8
matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 14 января 2014 - 18:37

Пожалуйста.
  • 0




Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
Megoydagi Megoydagi 1-й за Август
Очков активности: 30 4 темы, 8 сообщений, 1 балл репутации
Сайт: bank.net.ru
ТОП самых активных за этот месяц
  • Фотография Vmir
    #1

    Vmir
    Очков активности: 22.5 3 темы, 6 сообщений, 1 балл репутации

  • Фотография BLIK
    #2

    BLIK
    Очков активности: 18 Вне конкурса за определение пользователя месяца

  • Фотография kuztoday
    #3

    kuztoday
    Очков активности: 10.5 1 тема, 4 сообщения, 1 балл репутации

  • Фотография SergiuS85
    #4

    SergiuS85
    Очков активности: 10.5 2 темы, 1 сообщение, 1 балл репутации

  • Фотография Megoydagi
    #5

    Megoydagi (bank.net.ru)
    Очков активности: 9 Вне конкурса за определение пользователя месяца

  • Фотография mkreine
    #6

    mkreine (analiz-krovi.net)
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография kolver
    #7

    kolver
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография wp01
    #8

    wp01
    Очков активности: 7.5 0 тем, 5 сообщений, 1 балл репутации

  • Фотография Totti
    #9

    Totti
    Очков активности: 7.5 0 тем, 5 сообщений, 1 балл репутации

  • Фотография fedornabilkin
    #10

    fedornabilkin (plohoneponyal.ru)
    Очков активности: 7.5 1 тема, 2 сообщения, 1 балл репутации

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru