Есть код в начале файла. Исходя из переданного interface я формирую два результата запроса.
$mysqli_web_result и $mysqli_program_result
//Веб
if ($all_about_user['interface']=='web')
{
$mysqli_web_request="SELECT * FROM `users` WHERE `login`='$mylogin' LIMIT 1";
$mysqli_web_result=$mysqli->query($mysqli_web_request) or die ($mysqli->error);
}
//Программа
if ($all_about_user['interface']=='program')
{
$mysqli_program_request="SELECT * FROM `users` WHERE `login`='$login' LIMIT 1";
$mysqli_program_result=$mysqli->query($mysqli_program_request) or die ($mysqli->error);
}
Далее, в коде, я работаю с этими результатами
$num_rows = $mysqli_program_result->num_rows;
if ($num_rows==1)
{
$row=$mysqli_program_result->fetch_assoc();
.....
}
И в конце файла я хочу ещё раз поработать с результатом
if ($all_about_user['interface']=='web') $mysqli_result=$mysqli_web_result;
if ($all_about_user['interface']=='program') {$mysqli_result=$mysqli_program_result; echo 'Мы тут!';}
$row = $mysqli_result->fetch_assoc();
$all_about_user['id']=$row['id']; //не получит, если program т.е. $mysqli_program_result
Но, для $mysqli_web_result все корректно работает.
А для $mysqli_program_result нет - т.е. не может получить $row['id'] и любые значения. Но только в конце. Выше может.
Код не использует пространства имен, функции (простой) т.е. проблем области видимости быть не должно.
Скрипт входит в этот блок кода (Мы тут).
Как я вижу, разница между $mysqli_web_result и $mysqli_program_result только в использовании
$row=$mysqli_program_result->fetch_assoc();
$mysqli_web_result в коде использует это 1 раз, а $mysqli_program_result - два.
Вот все строки из файла (сверху вниз) содержащие использование $mysqli_program_result
$mysqli_program_result=$mysqli->query($mysqli_program_request) or die ($mysqli->error);
.....
$num_rows = $mysqli_program_result->num_rows;
.....
$row=$mysqli_program_result->fetch_assoc();
.....
if ($all_about_user['interface']=='program') $mysqli_result=$mysqli_program_result;
.....
$row = $mysqli_result->fetch_assoc();
Почему не работает результат запроса $mysqli_program_result()?