Aby dowiedzieć się, jak rozwiązać problem „Użytkownik określony jako osoba definiująca (‘xyz’@’localhost’) nie istnieje” w MySQL. Może to być dowolna wartość zamiast „xyz”.
Ten błąd wystąpił, ponieważ zdefiniowałeś różnych użytkowników w Definerze i używasz innych kont w MySQL.
Więc podczas tworzenia wyzwalaczy powinieneś użyć “root@localhost” w Definerze. Wykonaj poniższe czynności, aby rozwiązać ten błąd:
Krok 1: Otwórz phpMyAdmin
Krok 2: Wybierz swoją bazę danych i tabelę
Krok 3: Kliknij na “Wyzwalaczezakładka ” od góry strony
Krok 4: Kliknij na “Edytuj”, aby edytować wyzwalacze.
Krok 5: Zmień Definer z xyz@localhost na root@localhost
Aby uzyskać więcej informacji, zobacz ten zrzut ekranu:
Aby dowiedzieć się, jak wybrać zmodyfikowane pliki do wdrożenia na serwerze za pomocą GitAhead. Ogólnie, klikając przycisk „Wybierz wszystko” wszystkie wybrane zmodyfikowane pliki, a przycisk „Wybierz wszystko” wyłącza się automatycznie. Ale w przypadku niektórych plików nie zostanie wybrany, a jeśli spróbujesz to zrobić ręcznie, nie pozwoli ci to zrobić. I pokaże te pliki jako „częściowo zainscenizowane”. Możesz zobaczyć na poniższym zrzucie ekranu:
Aby rozwiązać ten problem, wykonaj następujące czynności:
Krok 1: Kliknij prawym przyciskiem myszy cały ten plik i kliknij „Unset Executable”, jak pokazano na zrzucie ekranu:
Krok 2: Teraz kliknij przycisk „Wszystkie etapy”, a teraz wszystkie sceny zostaną ustawione. Teraz możesz pomyślnie zatwierdzić na serwerze.
Podczas wyszukiwania złego adresu w wyskakującym oknie HubBox nie pojawia się komunikat o błędzie. Po zaznaczeniu na konsoli pojawia się błąd „_messageErrorTemplate nie jest funkcją“.
Rozwiązanie
Błąd: "_messageErrorTemplate nie jest funkcją”, ponieważ ta funkcja nie jest zadeklarowana jako funkcja w bibliotece HubBox.
Aby rozwiązać ten problem, musisz wprowadzić pewne zmiany w bibliotece HubBox:
Musisz wprowadzić zmiany w dwóch poniższych plikach:
1. \ HubBox \ Java \ src \ main \ resources \ static \ index.html 2. \ HubBox \ Java \ out \ production \ resources \ static \ index.html W tych plikach wyszukaj poniższy kod:
var _messageErrorTemplate = Mustache.render (_messageError || ""); var _messageWarning = $ (selectors.messages.warning) .html (); var _messageWarningTemplate = Mustache.render (_messageWarning || "");
i zastąp to poniższym kodem:
var _messageErrorTemplate = function () {return Mustache.render (_messageError || ""); }; var _messageWarning = $ (selectors.messages.warning) .html (); var _messageWarningTemplate = function () {return Mustache.render (_messageWarning || ""); };
Deklarując „_messageErrorTemplate'I'_messageWarningTemplate'jako funkcję, teraz pojawi się komunikat o błędzie podczas wyszukiwania złego adresu w wyskakującym oknie HubBox.
Cel: Aby dowiedzieć się, jak tworzyć i czytać pliki cookie za pomocą JavaScript. Cookie to mały fragment danych, który jest zapisywany na urządzeniu użytkownika przez stronę internetową. Jest to pomocne w przechowywaniu danych w celu identyfikacji użytkownika lub śledzenia użytkownika. Gdy użytkownik ponownie odwiedza witrynę, przechowywane dane można łatwo odczytać.
Krok 1: Aby ustawić plik cookie na urządzeniu użytkownika
Dzięki funkcji createCookie () można łatwo utworzyć plik cookie, przekazując nazwę, wartość (dane, które chcesz przechowywać) i datę ważności.
Możesz łatwo odczytać plik cookie, korzystając z poniższej funkcji, podając nazwę pliku cookie.
funkcja readCookie (nazwa) {var nameEQ = nazwa + '='; // czytanie pliku cookie var ca = document.cookie.split (';'); // przetwarzanie w celu uzyskania treści (var i = 0; i <ca.length; i ++) {var c = ca [i]; while (c.charAt (0) == '') {c = c.substring (1, c.length); } if (c.indexOf (nameEQ) == 0) {// zwracanie rzeczywistej zawartości zwraca c.substring (nameEQ.length, c.length); }} return null; }
Przykład: Przykład przechowywania nazwy użytkownika w pliku cookie.
if (cookies == 'yes') {jQuery ('document'). ready (function () {// reding cookie var cook = readCookie ('YourWebsite'); if (cook! = 'true') {// call aby utworzyć plik cookie, jeśli nie zostanie znaleziony createCookie ('YourWebsite', 'user_name = akash', 30);}}); }
Możesz zobaczyć zapisany plik cookie w konsoli przeglądarki:
Zależność: Aby uruchomić przykład, musisz dołączyć plik jquery min js. W tym celu możesz użyć poniższego wiersza kodu.
Cel: Aby dowiedzieć się, jak możemy użyć tej samej nazwy klasy w PHP, używając przestrzeni nazw. Ogólnie nie możemy używać dwóch lub więcej klas o tej samej nazwie. To spowoduje błąd: „Nie można redeclare klasy" jak pokazano niżej-
Aby sobie z tym poradzić, możemy użyć przestrzeni nazw, jak pokazano w poniższym przykładzie: 1. Definiowanie przestrzeni nazw Demo1 z klasą Student w Demo1 / Student.php
<? php namespace Demo1; class Student {// Cały kod będzie tutaj dla tej klasy var $ a = 10; }?>
2. Definiowanie przestrzeni nazw Demo2 z klasą Student (klasa o tej samej nazwie) w Demo2 / Student.php
<? php namespace Demo2; class Student {// Cały kod będzie tutaj dla tej klasy var $ a = 20; }?>
3. Teraz w przykładowym pliku index.php jesteśmy w stanie używać obu klas bez żadnego błędu:
<? php // zawierający obie klasy Studentów wymaga „Demo1 / Student.php”; wymagaj „Demo2 / Student.php”; // tworzenie instancji Demo1 Student () $ Student1 = new Demo1 Student (); // używanie pierwszej klasy funkcji echo $ Student1-> a. '<br>'; // tworzenie kolejnej instancji Demo2 Student () $ Student2 = new Demo2 Student (); // używanie funkcji drugiej klasy echo $ Student2-> a;
Ekran wyjściowy:
10 20
Obie klasy będą miały inną funkcjonalność i będziemy mogli łatwo używać obu klas w jednym pliku.
Uwaga: Możemy ułatwić kod dzięki funkcji PHP use ():
użyj Demo1 Student jako Student1; $ Student1 = new Student1 (); echo $ Student1-> a. '<br>'; użyj Demo2 Student jako Student2; $ Student2 = new Student2 (); echo $ Student2-> a;
Cel: Aby dowiedzieć się, jak możemy użyć dowolnej instancji klasy bez uwzględnienia pliku klasy. Ogólnie, jeśli chcemy użyć instancji dowolnej klasy, najpierw musimy dołączyć plik klasy do dowolnej funkcji 4:
zawierać
include_once
wymagać
wymagają raz
Jak poniżej
// uwzględniono wszystkie klasy wymagające „klas / Testing1.php”; wymagają „klas / Testowania2.php”; // teraz używając funkcjonalności klasy $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = nowy Testing2; echo $ testing2-> a;
Ale jeśli jest wiele klas, których chcemy użyć, będziemy musieli uwzględnić wszystkie pliki, aby móc utworzyć instancję klasy. Przypuśćmy, że jeśli są setki klas, będziemy musieli uwzględnić wszystkie i zajmie to dużo czasu i przestrzeni. Aby przezwyciężyć ten problem, możemy użyć poniższego kodu:
funkcja auto_loader ($ class) {$ file = "classes / {$ class} .php"; // ścieżka wszystkich klas // sprawdzi, czy plik istnieje if (is_file ($ file)) {// w końcu, jeśli plik istnieje, będzie zawierał plik include $ file; }} // Aby zarejestrować auto_loader (), aby wywołać tę funkcję sekwencyjnie, gdy nowa klasa zostanie zadeklarowana spl_autoload_register ("auto_loader"); // teraz używając funkcjonalności klasy $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = nowy Testing2; echo $ testing2-> a;
Używając powyższego kodu, wymagana klasa zostanie dołączona automatycznie podczas używania klasy. Nie obejmuje innych klas, które nie są wymagane. Struktura pliku:
klasy index.php / Testing1.php classes / Testing2.php
Oświadczenie o problemie: Błąd przychodzący w odpowiedzi Authentication API HubBox tj. „Błąd HubBox Api: zły kod odpowiedzi”
Rozwiązanie:? If you are facing issue as shown below while you are checking Authentication API, it may be because of Authentication API is verifying SSL certificate for connection.
W tym celu możesz wyłączyć weryfikację SSL w żądaniu CURL, dodając poniższe wiersze.
Dokonaj zmiany w żądaniu zwijania interfejsu API uwierzytelniania w funkcji refreshToken () w HubBox / PHP / HubBox / Authentication.php, jak pokazano poniżej:
W takim przypadku konieczne będzie dodanie tych linii we wszystkich interfejsach API HubBox Utwórz działkę, Anuluj działkę, Dodaj śledzenie i API punktu zbierania, jak opisano poniżej.
Utwórz interfejs API działki: Dokonaj zmiany w żądaniu zwijania API Create Parcel w funkcji sendOrder () w HubBox / PHP / HubBox / Parcel.php, jak pokazano poniżej:
Anuluj API działki: Dokonaj zmiany w żądaniu zwijania funkcji Cancel Parcel API w funkcji cancelOrder () w HubBox / PHP / HubBox / Parcel.php, jak pokazano poniżej:
Dodaj API śledzenia: Dokonaj zmiany w żądaniu zwijania funkcji Add Tracking API w funkcji addTracking () w HubBox / PHP / HubBox / Parcel.php, jak pokazano poniżej:
API Collectpoint: Dokonaj zmiany w żądaniu zwijania API Collectpoint w funkcji getCollectPoint () w HubBox / PHP / HubBox / CollectPoints.php, jak pokazano poniżej:
Stwierdzenie problemu:? Wrong product data coming in the response of Create Parcel API of HubBox Sandbox account.
Rozwiązanie: Jeśli masz do czynienia z tym problemem na koncie piaskownicy HubBox, jak pokazano poniżej, możesz zignorować to na koncie piaskownicy, ponieważ będzie ono działać poprawnie na koncie Produkcja HubBox. Wysłane dane produktu na żądanie Create Parcel API:
Przesyłka nie jest rejestrowana w wysłanym sygnale czasowym, a także w odpowiedzi nie pojawia się żaden błąd.
Rozwiązanie:
Podnieśliśmy zgłoszenie tego samego i odpowiedzieli, że ten problem wystąpił, ponieważ parametr e-mail odbiorcy nie został wysłany w interfejsie API wysyłki https://api.myparcel.com/shipments
Zgodnie z dokumentacją Spring Omni ten e-mail jest opcjonalnym parametrem:
W związku z tym podnieśliśmy bilet na Spring Omni i odpowiedzieli: Przesyłka nie została utworzona z powodu braku adresu e-mail odbiorcy. Chociaż schemat pokazuje to jako opcjonalne, ale Spring wymaga adresu e-mail, aby przewoźnicy mogli wysyłać powiadomienia do odbiorcy (jeśli oferują tę usługę
Tak więc adres e-mail odbiorcy jest wymagany w Spring Omni i należy go wysłać w interfejsie API wysyłki. Więcej pokrewnych blogów można znaleźć tutaj: