Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: синтаксис запроса
 
 автор: Nextia   (14.10.2011 в 03:29)   письмо автору
 
 


// в этом фрагменте ошибка или несколько интерпретатор её не видит, но видит оборудование и не исполняет. 
switch ($_REQUEST['ssdo'])
{ case "ado":
  $kassandra="addSubscriber";
  break;
  case "udo":
  $kassandra="updateSubscriber";
  break;
  case "ddo":
  $kassandra="deleteSubscriber";
  break;
 case "ndo":
  $kassandra="getSubscriberByName";
  break;
  default:
 $kassandra="getSubscriberByName";
  break;
}
//пришли из другой программы
$dei=$client->$kassandra.(array('credential' => $credential, 'subscriber' => $subscriber));
//в этой строке должно получаться :
//$dei=$client->getSubscriberByName(array('credential' => $credential, 'subscriber' => $subscriber)); и т.д

Помогите найти ошибки

  Ответить  
 
 автор: cheops   (14.10.2011 в 19:01)   письмо автору
 
   для: Nextia   (14.10.2011 в 03:29)
 

Смущает точка в следующем фрагменте, она для чего?
$kassandra.(array
Обычно массивы не подвергают объединению со строками при помощи точки... тут необходимо привести массив к строке? Может лучше сразу его представить в виде строки? Или все-таки это ошибка?

  Ответить  
 
 автор: Nextia   (17.10.2011 в 02:13)   письмо автору
 
   для: cheops   (14.10.2011 в 19:01)
 

Это ошибка. По логике должно быть так:

switch ($_REQUEST['ssdo'])
{ case "ado":
  $kassandra="addSubscriber";
  break;
  case "udo":
  $kassandra="updateSubscriber";
  break;
  case "ddo":
  $kassandra="deleteSubscriber";
  break;
 case "ndo":
  $kassandra="getSubscriberByName";
  break;
  default:
 $kassandra="getSubscriberByName";
  break;
}

$g=$client->$kassandra(array('credential' => $credential, 'subscriber' => $subscriber));
// но исполняться не желает почему-то, значит где-то еще в этом фрагменте есть ошибка :-( 
// $credential - массив
//$subscriber - тоже массив
//$kassandra - функция пришедшая на исполнение с аргументами в виде двух массивов указанных выше

  Ответить  
 
 автор: sl1p   (17.10.2011 в 02:35)   письмо автору
 
   для: Nextia   (17.10.2011 в 02:13)
 

проверьте что даст вывод:

<?
echo '$client: ';
var_dump($client);
echo 
'<br>method: ';
var_dump($kassandra);
echo 
'<br>is method exists: ';
var_dump(method_exists($client$kassandra));

  Ответить  
 
 автор: Nextia   (18.10.2011 в 10:05)   письмо автору
 
   для: sl1p   (17.10.2011 в 02:35)
 

спасибо за идею.
пробую

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования