не определяется переменная

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
вот этот скрипт:
PHP:
$pref = "ws_";
$users = $pref."users";
 
function users()
    {
      $q = "SELECT * FROM $users";
	  
	  echo $q;
	  }
	  
	  users();

выдает строку SELECT * FROM

а куда делась переменная $users ?

я же ее вроде вне функции определил...
 
переменную $users нужно передать в функцию иначе внутри функции она недоступна (ибо внутри функции используется локальная переменная) почитайте про области видимости переменных
в вашем случае
PHP:
$pref = "ws_"; 
$users = $pref."users"; // глобальная область видимости
  
function users() 
    { 
      $q = "SELECT * FROM $users"; // ссылка на переменную локальной области видимости  
       
      echo $q; // результат: SELECT * FROM $users
      } 
       
      users();
нужно так
PHP:
$pref = "ws_"; 
$users = $pref."users";  
function users($usr) 
    { 
      $q = "SELECT * FROM ".$usr; 
  echo $q; 
      }   
      users($users);

либо так:
PHP:
$pref = "ws_"; 
$users = $pref."users"; 
function users() 
    { 
global $users;
      $q = "SELECT * FROM ".$users; 
  echo $q; 
      }   
      users();
 
Или еще такой вариант

PHP:
$pref = "ws_"; 
$users = $pref."users";  
function users($usr) 
    { 
      $q = "SELECT * FROM '$usr'"; 
  echo $q; 
      }   
      users($users);
 
про область видимости переменных читай ;)
 
Назад
Сверху