Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
1

Почему код перестаёт работать в функции?

26.01.2017, 16:26. Показов 575. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! У меня есть вот такой код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$login = "admin";
      if (isset($_GET['link'])) { 
          $edit = $_GET['link'];
          getsiteinfo ($edit,$login);
           $mysqli = new mysqli ("localhost" , "***", "****","***");
     $select = $mysqli->query("SELECT * FROM *** WHERE userid = '$login' AND name = '$edit'");
     $sitearr = $select->fetch_array(MYSQLI_ASSOC);
     $servname = $sitearr['servname'];
     $alias = $sitearr['alias'];
     $email = $sitearr['email'];
     $charset = $sitearr['charset'];
     $indexfiles = $sitearr['indexfies'];
     $name = $sitearr['name'];
 
     }
Он работает, но как только я выношу код в функцию, код перестаёт работать
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php function siteinfo($edit,$login) { 
    $mysqli = new mysqli ("localhost" , "***", "***","***");
     $select = $mysqli->query("SELECT * FROM *** WHERE userid = '$login' AND name = '$edit'");
     $sitearr = $select->fetch_array(MYSQLI_ASSOC);
     $servname = $sitearr['servname'];
     $alias = $sitearr['alias'];
     $email = $sitearr['email'];
     $charset = $sitearr['charset'];
     $indexfiles = $sitearr['indexfies'];
     $name = $sitearr['name'];
     } ?>
PHP
1
2
3
4
5
6
7
 <?php
      $login = "admin";
      if (isset($_GET['link'])) { 
          $edit = $_GET['link'];
          siteinfo ($edit,$login);
 
     } ?>
В чём может быть причина?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2017, 16:26
Ответы с готовыми решениями:

Код перестает работать при разбиении на функции
Всем привет еще раз! Есть два кода. Вот первый нерабочий код double R=4444444444; public void...

Код перестает работать, если его оформить в виде функции
Допустим у меня некая программа #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void...

Код перестает работать, если его оформить в виде функции
Задача такова: 6. Описати функцію f(x) – число, яке складається з цифр, з яких починається слово х....

Почему при перестановке скрипт перестает работать?
кто может объяснить почему вот так работает : function getOrderInfoByid( order_Id,...

2
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
26.01.2017, 17:08 2
Вероятно потому, что все переменные, в том числе и сам массив находятся в локальной области + функция ничего не возвращает.
Вот так попробуйте:
PHP
1
2
3
4
5
<?php function siteinfo($edit,$login) { 
  $mysqli = new mysqli ("localhost" , "***", "***","***");
  $select = $mysqli->query("SELECT * FROM *** WHERE userid = '$login' AND name = '$edit'");
  return $sitearr = $select->fetch_array(MYSQLI_ASSOC); //возвращаем массив
} ?>
и дальше делайте с массивом что надо.
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
26.01.2017, 18:55 3
Цитата Сообщение от Пифагор Посмотреть сообщение
PHP
1
return $sitearr = $select->fetch_array(MYSQLI_ASSOC); //возвращаем массив
Ох, уж этот копипастинг! Зачем присваивать переменной значение, которое тут же возвращается?!
PHP
1
return $select->fetch_array(MYSQLI_ASSOC); //возвращаем массив
0
26.01.2017, 18:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2017, 18:55
Помогаю со студенческими работами здесь

Код после занесения в функцию перестаёт работать
Есть функция (для LU-разложения), взял с этого же форума, только там не было векторов: void...

Код, работающий в VS2003, перестаёт работать в VS2008
#include &quot;stdafx.h&quot; #include &lt;complex&gt; #include &lt;iostream&gt; #include &quot;math.h&quot; #include...

При организации процедуры код перестает работать
Ув. программисты подскажите пожалуйста в чем проблема... Есть код программы: uses crt; type mas...

Убираю код AJAX в подключаемый файл, и он перестает работать
Не пойму в чем проблема. Код AJAX работает, когда он прописан в хэде. Стоит только мне его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru