Erreur MySQL : l’utilisateur spécifié en tant que définisseur (‘xyz’@’localhost’) n’existe pas

Objectifs du blog

Pour savoir comment résoudre le problème “L’utilisateur spécifié en tant que définisseur (‘xyz’@’localhost’) n’existe pas” dans MySQL. Il peut s’agir de n’importe quelle valeur à la place de ‘xyz’.

Cette erreur s’est produite car vous avez défini différents utilisateurs dans Definer et utilisé d’autres comptes dans MySQL.

Ainsi, lors de la création de déclencheurs, vous devez utiliser le “root@localhost” dans le Definer. Suivez les étapes ci-dessous pour résoudre cette erreur :

Étape 1 : Ouvrez phpMyAdmin

Étape 2 : Sélectionnez votre base de données et votre table

Étape 3 : Clique sur le “triggers” onglet en haut de la page

Étape 4 : Clique sur le “Modifier” pour modifier les déclencheurs.

Étape 5 : Changer le définisseur de xyz@localhost en root@localhost

Pour plus de détails, consultez cette capture d’écran :

L'utilisateur spécifié comme définisseur ('xyz'@'localhost') n'existe pas

Erreur GitAhead: tous les fichiers modifiés ne sont pas sélectionnés par le bouton 'Stage All'

Objectifs du blog

Pour savoir comment sélectionner les fichiers modifiés à déployer sur le serveur à l'aide de GitAhead. Généralement, en cliquant sur le bouton "Sélectionner tout" tous les fichiers modifiés sélectionnés et le bouton "Sélectionner tout" désactivé automatiquement. Mais pour certains fichiers, il ne sera pas sélectionné et si vous essayez de le faire manuellement, il ne vous laissera pas le faire. Et il montrera également ces fichiers comme "partiellement mis en scène". Vous pouvez voir dans la capture d'écran ci-dessous:

Pour résoudre ce problème, vous devez suivre les étapes ci-dessous:

Étape 1 : Faites un clic droit sur tout ce fichier et cliquez sur "Unset Executable" comme indiqué dans la capture d'écran ci-dessous:


Étape 2 : Maintenant, cliquez sur le bouton "Tout mettre en scène", et maintenant il mettra en scène tous les fichiers. Vous pouvez maintenant valider le serveur avec succès.


Erreur HubBox: _messageErrorTemplate n'est pas une fonction

Énoncé du problème

Lors de la recherche de la mauvaise adresse dans la fenêtre contextuelle HubBox, il n'y a pas de message d'erreur. Lorsque coché sur la console, vous obtenez une erreur du type "_messageErrorTemplate n'est pas une fonction“.

Solution

L'erreur: "_messageErrorTemplate n'est pas une fonction"arrive car cette fonction n’est pas déclarée comme fonction dans la bibliothèque HubBox.


Pour résoudre ce problème, vous devez apporter quelques modifications à la bibliothèque de HubBox:

Vous devez modifier les deux fichiers ci-dessous:

1. \ HubBox \ Java \ src \ main \ resources \ static \ index.html
2. \ HubBox \ Java \ out \ production \ resources \ static \ index.html Dans ces fichiers, recherchez le code ci-dessous:

var _messageErrorTemplate = Moustache.render (_messageError || ""); var _messageWarning = $ (selectors.messages.warning) .html (); var _messageWarningTemplate = Moustache.render (_messageWarning || "");

et remplacez-le par le code ci-dessous:

var _messageErrorTemplate = function () {return Moustache.render (_messageError || ""); }; var _messageWarning = $ (selectors.messages.warning) .html (); var _messageWarningTemplate = function () {return Moustache.render (_messageWarning || ""); };

En déclarant '_messageErrorTemplate»Et«_messageWarningTemplateEn tant que fonction, vous obtiendrez maintenant un message d'erreur si vous recherchez une adresse erronée dans la fenêtre contextuelle HubBox.


Erreur HubBox: Impossible d'ouvrir le flux /sample/../../vendor/autoload.php

Problème

Tandis que

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

Solution

Cette

Step1:Effacer

Step2:Fairevendeur“?under?/sample/

Step3:Courircompositeur“?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

Objectif: Pour apprendre à créer et à lire le cookie à l'aide de JavaScript. Un cookie est un petit fichier de données enregistré sur le périphérique de l'utilisateur par le site Web. Il est utile de stocker des données pour identifier l’utilisateur ou pour le suivre. Lorsque l'utilisateur visite à nouveau le site Web, les données stockées peuvent être lues facilement.

Étape 1: Pour définir le cookie sur la machine utilisateur

Avec la fonction createCookie (), vous pouvez facilement créer le cookie en transmettant le nom, la valeur (les données que vous souhaitez stocker) et la date d'expiration.

function createCookie (nom, valeur, jours) {if (jours) {var date = new Date (); date.setTime (date.getTime () + (jours * 24 * 60 * 60 * 1000)); var expires = '; expires =' + date.toGMTString (); } else {var expires = ''; } // définition du cookie document.cookie = nom + '=' + valeur + expire + '; chemin = / '; }

Step2: Pour lire le cookie

Vous pouvez facilement lire le cookie à l'aide de la fonction ci-dessous en fournissant le nom du cookie.

fonction readCookie (name) {var nameEQ = nom + '='; // lecture du cookie var ca = document.cookie.split (';'); // traitement pour obtenir le contenu de (var i = 0; i <longueur.al; i ++) {var c = ca [i]; tandis que (c.charAt (0) == '') {c = cstrstring (1, c.length); } if (c.indexOf (nameEQ) == 0) {// retourne le contenu actuel renvoie csubstring (nameEQ.length, c.length); }} return null; }

Exemple: Exemple pour stocker le nom d'utilisateur dans le cookie.

if (cookies == 'oui') {jQuery ('document'). ready (function () {// cookie rouge var cook = readCookie ('Votre site Web'); if (cook! = 'true') {// appelant créer le cookie s'il n'est pas trouvé createCookie ('YourWebsite', 'user_name = akash', 30);}}); }

Vous pouvez voir le cookie stocké dans la console du navigateur:

Dépendance: Vous devrez inclure le fichier jquery min js pour exécuter l'exemple. Pour cela, vous pouvez utiliser la ligne de code ci-dessous.

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


Namespace in PHP

Objectif: Pour apprendre comment utiliser le même nom de la classe en PHP en utilisant namespace. Généralement, nous ne pouvons pas utiliser deux classes ou plus avec le même nom. Cela donnera une erreur: "Impossible de redéclarer une classe" comme indiqué ci-dessous-

Pour gérer cela, nous pouvons utiliser l’espace de noms comme indiqué dans l’exemple ci-dessous: 1. Définir l'espace de noms Demo1 avec la classe Student dans le fichier Demo1 / Student.php

<? php namespace Demo1; class Student {// Tout le code sera présent pour cette classe var $ a = 10; }?>

2. Définition de l'espace de noms Demo2 avec la classe Student (classe portant le même nom) dans Demo2 / Student.php

<? php namespace Demo2; class Student {// Tout le code sera présent pour cette classe var $ a = 20; }?>

3. Maintenant, dans le fichier exemple index.php, nous pouvons utiliser les deux classes sans erreur:

<? php // incluant les deux classes d'étudiants nécessite "Demo1 / Student.php"; nécessite "Demo2 / Student.php"; // création d'une instance de Demo1 \ Student () $ Student1 = new Demo1 \ Student (); // utilisation de la fonctionnalité de première classe echo $ Student1-> a. '<br>'; // création d'une autre instance de Demo2 \ Student () $ Student2 = new Demo2 \ Student (); // utilisation de la fonctionnalité de deuxième classe echo $ Student2-> a;

Écran de sortie:

10
20

Les deux classes auront des fonctionnalités différentes et nous pourrons les utiliser facilement dans un seul fichier.

Remarque : Nous pouvons simplifier le code en utilisant la fonction PHP use ():

utilisez Demo1 \ Student en tant que Student1; $ Student1 = new Student1 (); echo $ Student1-> a. '<br>'; utilisez Demo2 \ Student en tant que Student2; $ Student2 = new Student2 (); echo $ Student2-> a;

Structure du fichier:

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

Article connexe:Chargement automatique en PHP


Auto Loading in PHP

Objectif: Pour apprendre à utiliser n'importe quelle instance de classe sans inclure le fichier de classe. Généralement, si nous voulons utiliser l'instance d'une classe, nous devons d'abord inclure le fichier de classe par l'une des fonctions 4:

  1. comprendre
  2. include_once
  3. exiger
  4. Demandez une fois

Comme ci-dessous,

// inclus toutes les classes require "classes / Testing1.php"; require "classes / Testing2.php"; // utilise maintenant les fonctionnalités de la classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = new Testing2; echo $ testing2-> a;

Mais s'il y a beaucoup de classes que nous voulons utiliser, nous devrons inclure tous les fichiers pour pouvoir créer l'instance de la classe. Supposons que s'il y a des centaines de classes, nous devrons toutes les inclure et cela prendra beaucoup de temps et d'espace. Pour surmonter cela, nous pouvons utiliser le code ci-dessous:

function auto_loader ($ class) {$ file = "classes / {$ class} .php"; // chemin de toutes les classes // ceci vérifiera s'il existe un fichier if (is_file ($ file)) {// si finalement le fichier existe, il inclura le fichier include $ file; }} // Pour inscrire auto_loader () pour appeler cette fonction séquentiellement lorsqu'une nouvelle classe est déclarée spl_autoload_register ("auto_loader"); // utilise maintenant les fonctionnalités de la classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = new Testing2; echo $ testing2-> a;

En utilisant le code ci-dessus, la classe requise sera automatiquement incluse lors de l'utilisation de la classe. Il n'inclura pas d'autres classes qui ne sont pas nécessaires. Structure du fichier:

classes index.php / Testing1.php classes / Testing2.php


HubBox Error: Bad Response Code

Déclaration du problème: Erreur lors de la réponse de l'API d'authentification de HubBox ie. "Erreur Api HubBox: Code de réponse incorrect”

Solution:? 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.

Pour cela, vous pouvez désactiver la vérification SSL dans la demande CURL en ajoutant des lignes ci-dessous.

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

Effectuez la modification de la requête curl de l'API d'authentification dans la fonction refreshToken () de HubBox / PHP / HubBox / Authentication.php comme indiqué ci-dessous:

$ ch = curl_init (); $ post_string = http_build_query ($ fields); curl_setopt ($ ch, CURLOPT_URL, $ endpoint); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_POST, 1); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ post_string); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Type de contenu: 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);

Si tel était le problème, vous devrez ajouter ces lignes dans toutes les API des API de création, de suppression de parcelle, d'ajout, de suivi et de point de collecte de HubBox, comme décrit ci-dessous.

Créer une API de colis: Effectuez la modification de la requête curl de l’API Créer une parcelle dans la fonction sendOrder () de HubBox / PHP / HubBox / Parcel.php comme indiqué ci-dessous:

$ 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, array ('Content-type: application / json', 'Authorization: Bearer'. jeton $., '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);

Annuler l'API Parcel: Effectuez la modification de la requête curl de l’API Cancel Parcel dans la fonction cancelOrder () de HubBox / PHP / HubBox / Parcel.php comme indiqué ci-dessous:

$ 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, array ('Content-type: application / json', 'Authorization: Bearer'. jeton $., '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);

Ajouter une API de suivi: Effectuez la modification de la requête curl de l'API Add Tracking dans la fonction addTracking () de HubBox / PHP / HubBox / Parcel.php comme indiqué ci-dessous:

$ 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, array ('Content-type: application / json', 'Authorization: Bearer'. jeton $., '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: Effectuez la modification de la requête curl de l'API Collectpoint dans la fonction getCollectPoint () de HubBox / PHP / HubBox / CollectPoints.php comme indiqué ci-dessous:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getCollectPointUrl (). '/'. $ id); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Type de contenu: 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); // si nous avons des points de collecte privés, nous devons authentifier la demande si ($ this -> _ config-> hasPrivateCps ()) {$ header [] = "Authorization: Bearer". $ this -> _ auth-> getAccessToken (); curl_setopt ($ ch, CURLOPT_HTTPHEADER, $ en-tête); } $ 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);

Pour plus d'articles liés s'il vous plaît visitez ici: Erreur HubBox: données de produit incorrectes dans la réponse de Create Parcel API


Erreur HubBox: données de produit incorrectes dans la réponse de Create Parcel API

Déclaration de problème:? Wrong product data coming in the response of Create Parcel API of HubBox Sandbox account.

Solution: Si vous rencontrez ce problème dans le compte sandbox HubBox comme indiqué ci-dessous, vous pouvez l'ignorer sur le compte sandbox, car cela fonctionnera correctement dans le compte Production de HubBox. Données de produit envoyées dans la demande de l’API de création de parcelle:

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

Données de produit reçues dans la réponse de l’API de création de parcelle:

[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: L'envoi n'est pas enregistré

Déclaration de problème:

L'envoi n'est pas enregistré sur l'horodatage envoyé et aucune erreur n'est signalée dans la réponse.

Solution:

Nous avons généré un ticket pour le même produit et ils ont répondu que ce problème était survenu car le paramètre de messagerie du destinataire n'était pas envoyé dans l'API d'expédition. https://api.myparcel.com/shipments

Selon la documentation de Spring Omni, ce courrier électronique est un paramètre facultatif:


Donc, nous avons de nouveau levé un ticket sur Spring Omni à ce sujet et ils ont répondu: L'envoi ne parvient pas à être créé car l'adresse e-mail du destinataire n'a pas été renseignée. Bien que le schéma indique que cette option est facultative, Spring requiert l’adresse électronique pour que les opérateurs puissent envoyer des notifications au destinataire (s’ils offrent ce service).

L'e-mail du destinataire est donc un paramètre obligatoire dans Spring Omni et doit être envoyé dans l'API d'expédition. Pour plus de blogs liés, s'il vous plaît visitez ici:

Spring Global (Spring Omni) Error: la propriété phone_number est requise.

Manifeste Omni du printemps

Spring Global (Spring Omni): Concept de facturation

Erreur Spring Global (Spring Omni): ressource introuvable

Erreur Spring Global (Spring Omni): Obtention d'une réponse vide lors de l'extraction d'une étiquette