Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Select, a specjalne znaki...


Rekomendowane odpowiedzi

\IPS\Db::i()->select( 'id', 'testapp', [ '`memberName`', 'weak\' ] )->first();

I tutaj borykam się z tymi znakami \, przez które zapytanie stoi w miejscu. Przeleciałem pół dokumentacji i nie znalazłem tam żadnego rozwiązania, czy też jakiekolwiek wskazówki. IPS ma w swoim zanadrzu coś na te znaki? 

Odnośnik do komentarza
Udostępnij na innych stronach

8 godzin temu, DawPi napisał:

Jak stoi? Jaki błąd w logach? W ogóle tam brakuje w tablicy =?  

Zbyt dużo usunąłem wklejając. ogólnie to mam tak:

 

public function memberId($memberShop, $memberName)
{
	return \IPS\Db::i()->select( 'id', 'testapp', [ 'memberShop = ? AND `memberName` = ?', $memberShop, $memberName ] )->first();
}

A w błędach nie ma nic ciekawego:

IPS\testapp\_Application->memberId(1, '')
IPS\testapp\_Application->memberId(1, 'weak/')

 

Wywołuje to w normalny sposób:

$this->app->memberId($date['id'], $date['name']);

 

Rekordy ze zwykłymi znakami normalnie aktualizują się, błąd pojawia się jak ktoś ma znaki "/" lub pole jest puste.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Hm, nic a nic w logach?

obraz.png

/**
 * index
 */
class _index extends \IPS\Dispatcher\Controller
{
	/**
	 * Execute
	 *
	 * @return	void
	 */
	public function execute()
	{
		print_r( \IPS\Db::i()->select( '*', 'core_members', [ 'member_group_id = ? AND `name` = ?', 3, 'test/' ] )->first() ); die();

 

obraz.png

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

16 minut temu, DawPi napisał:

IPS\testapp\_Application->memberId(1, 'weak\\')

2020-09-08_15-47-13.png

Dane pobierane są z innego serwera i zapisywane na bieżącym, nie mam wpływu na to, kto jaką sobie nazwę ustawi. Z jednym "\" niestety nie pójdzie.

 

Dlatego jest tam 

$this->app->memberId($date['id'], $date['name']);

Nie ma jednego rekordu, a kilka tysięcy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Ty nie rozumiesz chyba. ;)

Takie coś:

print_r( \IPS\Db::i()->select( '*', 'core_members', [ 'member_group_id = ? AND `name` = ?', 3, 'test\' ] )->first() ); die();

NIE jest poprawną składnią nawet.

Dlatego dajesz \\:

print_r( \IPS\Db::i()->select( '*', 'core_members', [ 'member_group_id = ? AND `name` = ?', 3, 'test\\' ] )->first() ); die();

A ogólniej to choćby zmiana \ na \\ w PHP.

 

Czy jeszcze nie wstałem i nadal nie kumam? ;)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.