mysqli работа внутри пользовательской функции

autocalc
На сайте с 11.05.2011
Offline
52
1035

Добрый день джентльмены. Я наконец решил перейти на расширение mysqli, и уперся в одну проблему - не могу работать с базой внутри пользовательской функции, без передачи в нее объекта mysqli.

Поясните пожалуйста, в чем ошибка, или так и должно быть?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

на примере покажите, что у вас за код там :)

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
autocalc
На сайте с 11.05.2011
Offline
52
#2
LEOnidUKG:
на примере покажите, что у вас за код там :)


$mysqli = mysqli_connect("localhost", "xxx", "xxx", "xxx");

if(mysqli_connect_errno())
{
exit('Ошибка подключения: ' . $mysqli -> connect_error . '<br/>' . $mysqli -> connect_error);
}

$mysqli->set_charset("utf8");


function menu()
{
echo '<ul>';
$result = $mysqli -> query("SELECT * FROM menu");
if(!$result){
echo $mysqli -> error;
}
while($menu = $result -> fetch_array())
{
echo '<li><a href="'.$menu['link'].'">'.$menu['title'].'</a></li>';
}
echo '</ul>';

$result->close();
}


UPD:

Перепутал, изначально код подключения был такой:


<?php

$mysqli = new mysqli("localhost", "xxx", "xxx", "xxx");
Joker-jar
На сайте с 26.08.2010
Offline
171
#3

function menu() 

{
global $mysqli;

function menu($mysqli) 

{

на вкус. ну либо переходить на объектную модель

TF-Studio
На сайте с 17.08.2010
Offline
334
#4

Передавать в каждую функцию - не айс.

Либо

global $mysqli;

либо

mysqli_connect()

mysqli_query и так далее.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#5

autocalc, скачайте готовые классы для работы с БД их сотни, уже готовые, там есть всё. Хоть даже от DLE возьмите.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий