modExtraManagerController данные из файла getObject empty result
        Здравствуйте. 
Пробую создать компонент.
В админпанеле сделал форму с кнопкой.
При нажатии на кнопку загружается файл и далее я перебираю его с помощью fgetcsv
Если я делаю просто echo или print_r, то все выводится, но если я пытаюсь из этого результат сделать getObject или $modx->query результат 0 строк. Если я сам вручную впишу критерий поиска, то результат выводит.
Делаю так:
Пожалуйста, скажите как правильно сделать. Спасибо
    
    
                                                                                
            Пробую создать компонент.
В админпанеле сделал форму с кнопкой.
При нажатии на кнопку загружается файл и далее я перебираю его с помощью fgetcsv
Если я делаю просто echo или print_r, то все выводится, но если я пытаюсь из этого результат сделать getObject или $modx->query результат 0 строк. Если я сам вручную впишу критерий поиска, то результат выводит.
Делаю так:
public function process(array $scriptProperties = array()) {
	global $modx;
...
	if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
			$row = 1;
			if (($handle = fopen($uploadfile, "r")) !== FALSE) {
					while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
						$num = count($data);
						if ($num >= 2) {
							$article = $data[0];
							$price = $data[1];
					echo $article; //ЭТО РАБОТАЕТ
					$find_row = $modx->getObject('msProductData', array('article' => $article)); // А это игнорирует article.
					if ($find_row) {
						echo 'Найдено';
					} else {
						echo $article; //И тут выводит артикул без проблем
					}
				}
				$row++;
			}
			fclose($handle);
		}
	}
}Если я сделаю просто массив, то из него тоже берется, а вот если делаю выборку из файла — то не работает.Пожалуйста, скажите как правильно сделать. Спасибо
Комментарии: 10
                Братцы, помогите. Тоже такая проблема!            
                    
                Сделайте var_dump вместо echo. Возможно, после артикула в файле стоит пробел — тогда надо воспользоваться функцией trim перед подстановкой в условие.            
                    
                Здравствуйте. Пробовал. tirm я сейчас дописал, все равно пригодится) Но проблема осталась
            
                    
            
                Попробуйте так посмотреть, какой SQL-запрос формируется, и что в нём не так:
                    $q = $modx->newQuery('msProductData');
$q->where(array('article' => $article));
$q->prepare();
echo $q->toSQL();            
                Да, в запросе видно что подставляется, но когда я делаю
            
                    $q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);результат пустой
            
                А если в PhpMyAdmin этот запрос вставить и попробовать выполнить — будет результат?            
                    
                Все получилось. Убрал bom. Спасибо            
                    а вот если делаю выборку из файла — то не работает.включите отображение ошибок в начале скрипта
ini_set('display_errors', 1);
ini_set('error_reporting', -1);и посмотрите возможно у вас ошибка в коде.            
                да, я так сделал сразу. 
Тот код который предложил Илья — работает.
Ну точнее я пока только prepare сделал и там в запросе четко указано article='...'
А вот getObject его игнорирует. Сейчас execute сделаю и посмотрю. 1 минуту
                    Тот код который предложил Илья — работает.
Ну точнее я пока только prepare сделал и там в запросе четко указано article='...'
А вот getObject его игнорирует. Сейчас execute сделаю и посмотрю. 1 минуту
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    
            
            
                    
                    
                