выскакивает ошибка call to a member function query() on a non-object
$resut = $mysqli->query("SELECT users FROM $gid WHERE $gid.id != 1 ");
$myro = mysqli_fetch_assoc($resut);
function insertLogin($myro)
{
while ($myro == true) {
$myroq = $myro['users'];
$result = mysqli_query($mysqli, "SELECT * FROM users WHERE users.login='$myroq'");
$myros = mysqli_fetch_assoc($result);
$orgroupcountnew = $myros['orgoup'] + 1;
$gncountnew = $myros['gn'] + 1;
$rest = $mysqli->query("UPDATE users SET balance ='$balance', gn = '$gncountnew', orgroup = '$orgroupcountnew' WHERE users.login= '$myroq'");
}
}
Переменная $mysqli
объявлена в самом начале документа
$mysqli = new mysqli ("127.0.0.1:3306", "root", "", "mybase");
$mysqli->query("SET NAMES 'utf8'");
и при вызове этой функции insertLogin ($myro);
выдает, что ошибка в этой строчке
$rest = $mysqli ->query("UPDATE `users` SET `balance` ='$balance', `gn` = '$gncountnew', `orgroup` = '$orgroupcountnew' WHERE `users`.`login` = '$myroq'");
хотя до этого вызывается почти аналогичный запрос, но чуть другим методом (причем, если переписать $result = mysqli_query
на $mysqli ->query
, будет выдавать ошибку и в этой строчке, но если переделать $rest = $mysqli ->query
на mysqli_query
ничего работать не будет вообще, страница зависает при перезагрузке и все.
Читал, что нужно сделать через глобальную переменную и тд, но не получается ибо вставляю global $mysqli
в функцию, страница опять виснет. Проблема еще в том, что это не весь код и закрывать и переоткрывать подключение не получается, не работает остальное. Помогите и объясните, пожалуйста, что нужно сделать
Попытался чуть по- другому
function insertLogin ($resut) {
while (($myroq = $resut-> fetch_assoc()) != false) {
$myroq = $resut['users'];
и
$resut = $mysqli->query("SELECT `users` FROM `$gid` WHERE `$gid`.`id` != 1 " );
insertLogin ($resut);
но все равно выскакивает ошибка
Добавьте второй параметр в параметры функции
$resut = $mysqli->query("SELECT users FROM $gid WHERE $gid.id != 1 ");
$myro = mysqli_fetch_assoc($resut);
function insertLogin($myro, $mysqli)
{
while ($myro == true) {
$myroq = $myro['users'];
$result = mysqli_query($mysqli, "SELECT * FROM users WHERE users.login='$myroq'");
$myros = mysqli_fetch_assoc($result);
$orgroupcountnew = $myros['orgoup'] + 1;
$gncountnew = $myros['gn'] + 1;
$rest = $mysqli->query("UPDATE users SET balance ='$balance', gn = '$gncountnew', orgroup = '$orgroupcountnew' WHERE users.login= '$myroq'");
}
}
Выделю место которое изменилось function insertLogin($myro, $mysqli)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Почему программа выводит 00, ведь const int = int, то есть вызов идёт к одной и той же функции, а значит статическая переменная увеличится на единицу...
Как передать в шаблон с параметром-функцией лямбду? Почему так не работает?