Алексей
Я вообще в ступоре Вот так работает: $q->where("username = 'Myname'"); А вот так уже нет $name = "Myname"; $q->where("username = '{$name}'");
Алексей
ну или там $q->where("username = '".$name."'"); тоже не работает
Алексей
Какое-то преобразование что-ли происходит. По сути же обычная строка
Yani
Сделай прераре и тускл
Yani
Чтобы увидеть запрос
Алексей
Эмм, можно подробнее, что такое "прераре и тускл"?)
Алексей
а, parepare&
Алексей
Да делал уже не раз, говорю же. В запросе все четко
Алексей
он даже выполняется, если его как строку вставить в любой клиент MySQL
Алексей
и даже данные возвращает
Алексей
Тут какая-то хрень с подстановкой строки... не могу понять
Алексей
http://pharmacypedia.org/wp-content/uploads/2014/12/11-ways-to-spot-bogus-headlines-about-your-health-1419285606384.gif
Yani
странно , я просто с телефона) неудобно писать
Yani
$q->where("username = '".$name."'");
Алексей
без разницы
Алексей
тот же резльтат) да и пробовал я уже) тут не в этом дело, а в подставляемом значении
Евгений
там же массив нужно
Евгений
будет весело если у вас в username кириллица есть ))
Алексей
Нету, вы же видите. Я в переменную от руки вбил
Алексей
без переключения раскладки
Алексей
вбиваю в переменную с подстановкой - не работает, вбиваю сразу в строку - работает
Евгений
хз, у меня в консольке пашет
Алексей
Так должно работать
Anonymous
Интересно, а кто-нибудь попробовал проверить там имя точно строка, а не объект или что-то в том духе?
Алексей
Но факт, не работает... именно у меня и только тут
Евгений
наверн дело в прямоте рук
Алексей
$name = "Myname"; $q->where("username = '{$name}'"); так вот тут, разве может быть что то кроме строки?
Алексей
Не знаю, ровнометром не мерил, но этот косяк у меня первый раз.
Евгений
$q->where(array('username' => $username));
Anonymous
Что это за дичь?
Алексей
делал уже так
Anonymous
И я про строку Алексея
Евгений
$username = 'admin'; $q->where(array('username' => $username)); и всё нормально работает
Алексей
у меня не работает, хоть и должно
Алексей
не понимаю почему
Алексей
Мне вот, что интересно стало. Попробовал сделать вот что: $usename = "Hakujin"; echo printf( "username = '%s'", $username); результат: username = 'Hakujin'33
Алексей
отку там "33"
Алексей
откуда
Алексей
оно какой то символ преобразовало в 33. Но ведь в втроке нет никакх спецсимволов. Забито все руками
Евгений
usename наверн руками вбивали, а то там опечатка
Алексей
эмм... точно
Алексей
блин, наверное передается с "33", а я проверяю с неправлиьной переменной
Алексей
ща
Алексей
Спасибо за наводку
Алексей
вот она магия букв...
Алексей
одна опечатка. А в сниппет видимо передается c каким-то сспецсимволом
Алексей
невидимым
Алексей
дам данные через параметр передаются из другого сниппета [[!getAnimations?&user=[[+user.username]]]]
Евгений
sprintf вроде как сам добавляет число это
Алексей
зачем добавляет?
Алексей
строка же обычная
Евгений
выведете просто echo
Алексей
в echo все чисто
Алексей
ybrfrb[ cbvjdkjd
Алексей
никаких символов
Алексей
просто printf принудительно приводит к типу... а (string)$username ничег оне давало
Евгений
всё просто
Евгений
echo выводиn результат printf
Евгений
то есть число символов в строке
Евгений
printf вывел бы username = 'admin' а если это еще через echo тj мы видим в конце количество символов, включая пробелы
Евгений
посчитайте буковки ваши
Евгений
их будет 33 штуки
Евгений
пробеллы, кавычки
Алексей
Ну хорошо, действительно. Цифры убрал, но суть осталась. Переданный логин не работает в where
Алексей
а может быть, что сниппет преобразует в HTML коды?
Алексей
визуально я эти симолы буду так-же видеть, но они то другие будут
Алексей
Или может в другой кодировке
Алексей
Визуально логин правильный, но когда строка из данных переданных сниппетом, то проблема
Евгений
я хз что там сниппет делает, может он вообще ничего не передаёт
Алексей
передает
Алексей
запрос то правильный формируется
Алексей
я же говорю, этот запрос если через копипаст перенести в любой MySQL клиент, то он выполнится правильно
Алексей
А вот пока внутри, юзернейем не находится полученный из данных
Алексей
Кстати, я у modx частенько такое встречаю, что возвращенные через плейсхолдер данные неадекватно воспринимаются
Евгений
может так надо передавать [[+modx.user.username]]
Алексей
особенно часто, возвращаешь числовое значение, а phx думает, что там пусто
Алексей
может так надо передавать [[+modx.user.username]]
там не из modx, там другой мой сниппет, которые загружает данные конкретного пользователя
Алексей
не именно того, кто авторизован, в любого, по ID
Евгений
всё, ванга ушла, дальше разгребайте своё сами
Алексей
https://pastebin.com/87zdHv7C