Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Różnice przy wyświetleniu kodu tworzącego procedurę
Forum PHP.pl > Forum > Bazy danych > MySQL
Mephis
Witam.

Chciałbym wyświetlić zapytanie tworzące procedurę: "SHOW CREATE PROCEDURE...".
Oczywiście wynik otrzymuję, z tym, że z pewnymi różnicami, jeśli korzystam z innego klienta bazy danych - czy tak być powinno?
Zagłębiając się w szczegóły, chodzi o wyświetlanie zmiennych procedury, a dokładnie tych liczbowych. Poniżej wyjaśniam...

Zapytanie z MySQL Workbench, czy przez PHPMyAdmin wyświetla mi np.:
  1. CREATE DEFINER=`root`@`localhost`
  2. PROCEDURE `my_procedure`(
  3. IN `var_a` VARCHAR(40),
  4. IN `var_b` INT(4) UNSIGNED,
  5. IN `var_c` VARCHAR(255) CHARSET utf8
  6. ) ...

I to jest ok.

Natomiast, w PHP, przy dokładnie tym samym zapytaniu, z wykorzystaniem PDO, otrzymuję taki wynik:
  1. CREATE DEFINER=`root`@`localhost`
  2. PROCEDURE `my_procedure`(
  3. IN `var_a` VARCHAR(40),
  4. IN `var_b` INT() 4 UNSIGNED,
  5. IN `var_c` VARCHAR(255) CHARSET utf8
  6. ) ...


Problem występuje przy "INT". W pierwszym przypadku liczba "4" znajduje się w nawiasie, zaś w drugim - znajduje się ona poza nawiasem, przez co całe zapytanie jest błędne, gdyż próbując wykonać takie, otrzymuję błąd składni.

Czy ktoś mógłby wyjaśnić o co chodzi?
Pyton_000
To pokaż jak to robisz w PHP.
Mephis
Za bardzo się pospieszyłem z prośbą o pomoc. Problemem okazała się funkcja, którą dumpowałem wynik. Z niewiadomych dla mnie przyczyn wyciągała liczbę z nawiasu.

Wątek można zamknąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.