Błąd MySQL: użytkownik określony jako definiujący (‘xyz’@’localhost’) nie istnieje

Cele bloga

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:

Użytkownik określony jako definiujący ('xyz'@'localhost') nie istnieje

Błąd GitAhead: wszystkie zmodyfikowane pliki nie są wybierane za pomocą przycisku „Stage All”

Cele bloga

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.


Błąd HubBox: _messageErrorTemplate nie jest funkcją

Problem Statement

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.


Błąd HubBox: Nie można otworzyć strumienia / próbka/../../vendor/autoload.php

Problem

Podczas

wymagają (C: \ wamp64 \ www \ HubBox \ sample \ src \ public /../../ vendor / autoload.php):

Rozwiązanie

To

Step1:Usunąć

Step2:Robićsprzedawca“?under?/sample/

Step3:Biegaćkompozytor“?in?command?prompt?at?/sample/

It?will?download?all?the?dependency?files?which?are?required.

After?successfully?downloading?all?the?dependencies,?you?will?able?to?use?the?HubBox?library.


How to set Cookie using JavaScript

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.

funkcja createCookie (nazwa, wartość, dni) {if (dni) {var date = new Date (); date.setTime (date.getTime () + (dni * 24 * 60 * 60 * 1000)); var expires = '; expires =' + date.toGMTString (); } else {var expires = ''; } // ustawienie cookie document.cookie = nazwa + '=' + wartość + wygasa + '; ścieżka = / '; }

Step2: Aby przeczytać plik cookie

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.

<skrypt src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"> </script>


Namespace in PHP

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;

Struktura pliku:

index.php
Demo1 / Student.php
Demo2 / Student.php

Powiązany artykuł:Automatyczne ładowanie w PHP


Auto Loading in PHP

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:

  1. zawierać
  2. include_once
  3. wymagać
  4. 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


HubBox Error: Bad Response Code

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.

curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false);

Dokonaj zmiany w żądaniu zwijania interfejsu API uwierzytelniania w funkcji refreshToken () w HubBox / PHP / HubBox / Authentication.php, jak pokazano poniżej:

$ ch = curl_init (); $ post_string = http_build_query ($ pól); curl_setopt ($ ch, CURLOPT_URL, $ punkt końcowy); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_POST, 1); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ post_string); curl_setopt ($ ch, CURLOPT_HTTPHEADER, tablica ('Content-type: application / x-www-form-urlencoded')); curl_setopt ($ ch, CURLOPT_USERPWD, $ this -> _ magento_user. ":". $ this -> _ magento_key); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ httpcode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); $ body = substr ($ output, $ header_size); curl_close ($ ch);

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:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getOrderUrl ()); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, „POST”); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ body); curl_setopt ($ ch, CURLOPT_HTTPHEADER, tablica ('Content-type: application / json', 'Authorization: Bearer'. $ token, 'Content-Length:'. strlen ($ body))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);

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:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getCancelUrl ($ hubBoxParcelId)); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, „POST”); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postBody); curl_setopt ($ ch, CURLOPT_HTTPHEADER, tablica ('Content-type: application / json', 'Authorization: Bearer'. $ token, 'Content-Length:'. strlen ($ postBody))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);

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:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getTrackingUrl ($ hubBoxParcelId)); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, „POST”); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postBody); curl_setopt ($ ch, CURLOPT_HTTPHEADER, tablica ('Content-type: application / json', 'Authorization: Bearer'. $ token, 'Content-Length:'. strlen ($ postBody))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);

API Collectpoint: Dokonaj zmiany w żądaniu zwijania API Collectpoint w funkcji getCollectPoint () w HubBox / PHP / HubBox / CollectPoints.php, jak pokazano poniżej:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getCollectPointUrl (). '/'. $ id); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_HTTPHEADER, tablica („Content-type: application / json”)); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); // jeśli mamy prywatne punkty zbierania, musimy uwierzytelnić żądanie, jeśli ($ this -> _ config-> hasPrivateCps ()) {$ header [] = "Authorization: Bearer". $ this -> _ auth-> getAccessToken (); curl_setopt ($ ch, CURLOPT_HTTPHEADER, $ header); } $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);

Więcej artykułów na ten temat można znaleźć tutaj: Błąd HubBox: Błędne dane produktu w odpowiedzi na polecenie Create Parcel API


Błąd HubBox: Błędne dane produktu w odpowiedzi na polecenie Create Parcel API

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:

[order] => Array ([id] => 1234 [products] => Array ([0] => Tablica ([name] => Test Item1 [sku] => TEST [price] => 1) [1] => Tablica ([name] => Test Item2 [sku] => TEST2 [price] => 12) [2] => Tablica ([name] => Test Item3 [sku] => TEST3 [price] => 13 )))

Otrzymano dane produktu w odpowiedzi na polecenie Create Parcel API:

[order] =&amp;gt; stdClass Object
        (
            [id] =&amp;gt; 1234
            [products] =&amp;gt; Array
                (
                    [0] =&amp;gt; stdClass Object
                        (
                            [sku] =&amp;gt; TEST
                            [name] =&amp;gt; Test Item
                            [price] =&amp;gt; 1
                            [qty] =&amp;gt;  
                            [challenge18] =&amp;gt;  
                            [challenge21] =&amp;gt;  
                            [challenge25] =&amp;gt;  
                            [perishable] =&amp;gt;  
                            [flammable] =&amp;gt;  
                        )
 
                    [1] =&amp;gt; stdClass Object
                        (
                            [sku] =&amp;gt;  
                            [name] =&amp;gt;  
                            [price] =&amp;gt;  
                            [qty] =&amp;gt;  
                            [challenge18] =&amp;gt;  
                            [challenge21] =&amp;gt;  
                            [challenge25] =&amp;gt;  
                            [perishable] =&amp;gt;  
                            [flammable] =&amp;gt;  
                        )
 
                )
 
        )

For related blog please visit here: <a href="https://www.knowband.com/blog/tips/hubbox-error-bad-response-code/" target="_blank">HubBox Error: Bad Response Code</a>


Spring Global (Spring Omni) Error: Przesyłka nie jest zarejestrowana

Stwierdzenie problemu:

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:

Błąd Spring Global (Spring Omni): Wymagana jest właściwość numer_telefonu

Wiosenny manifest omni

Spring Global (Spring Omni): Koncepcja fakturowania

Spring Global (Spring Omni) Error: Resource Not Found

Błąd Spring Global (Spring Omni): uzyskiwanie pustej odpowiedzi podczas pobierania etykiety