Aller au contenu
HyperKut

inactif ✖ Problème base de données MySQL avec script-db

Messages recommandés

Version de Minecraft : 1.12.2
Version de Skript : 2.3

Addons utilisés: script-db 0.2.1

Type du skript : Script MySQL

Description du script :

Bonjour,

Je me permets de poster car je rencontre un soucis avec les requêtes SQL avec l'addon script-db.

Lorque j'utilise des variables non persistantes dans mes requêtes (par exemple {_p}), la valeur qu'on me retourne est vide "<none>".

Alors que si j'utilise une variable persistantes ça fonctionne, j'aimerai savoir comment régler ce soucis voici deux exemples ci-dessous un qui fonctionne et un qui ne fonctionne pas :

 

Requête qui fonctionne (mais dont je ne veux pas)

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Requête qui NE FONCTIONNE PAS

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Merci d'avance pour votre aide !

Modifié par HyperKut

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
il y a 1 minute, HyperKut a dit :

Version de Minecraft : 1.12.2
Version de Skript : 2.3

Addons utilisés: script-db 0.2.1

Type du skript : Script MySQL

Description du script :

Bonjour,

Je me permets de poster car je rencontre un soucis avec les requêtes SQL avec l'addon script-db.

Lorque j'utilise des variables non persistantes dans mes requêtes (par exemple {_p}), la valeur qu'on me retourne est vide "<none>".

Alors que si j'utilise une variable persistantes ça fonctionne, j'aimerai savoir comment régler ce soucis voici deux exemples ci-dessous un qui fonctionne et un qui ne fonctionne pas :

 

Requête qui fonctionne (mais dont je ne veux pas)


# La seule différence se fait sur le {p}

set {p} to "%player%"
execute unsafe "SELECT * FROM players WHERE pseudo = '%{p}%'" in {sql} and store the result in {_result::*}
broadcast "%{_result::password::1}%"

# Ici le mot de passe du joueur m'est affiché correctement

 

Requête qui NE FONCTIONNE PAS


# Ici j'ai mis {_p} au lieu de {p}

set {_p} to "%player%"
execute unsafe "SELECT * FROM players WHERE pseudo = '%{p}%'" in {sql} and store the result in {_result::*}
broadcast "%{_result::password::1}%"

# Et la la valeur retournée est <none>

 

Merci d'avance pour votre aide !

En même temps si tu mets pas '%{_p}%'" ça ne marchera pas... Tu mets des variables différentes

Tu définis _p mais tu affiches p 

Alors que sur le code de dessus, qui est fonctionnel, tu définis p et affiche p

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir, les variables temporaires ne fonctionnent pas avec skript-db.
Je te conseille de passer par des variables simples pour effectuer tes requêtes.
Bonne soirée. 🙂

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
il y a 1 minute, Romitou a dit :

Bonsoir, les variables temporaires ne fonctionnent pas avec skript-db.
Je te conseille de passer par des variables simples pour effectuer tes requêtes.
Bonne soirée. 🙂

(Je ne savais pas, mon message est donc eronné ?)

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 5 minutes, KneaXy a dit :

En même temps si tu mets pas '%{_p}%'" ça ne marchera pas... Tu mets des variables différentes

Tu définis _p mais tu affiches p 

Alors que sur le code de dessus, qui est fonctionnel, tu définis p et affiche p

Tu as répondu trop vite... J'avais fait une erreur de frappe que j'ai corrigée en éditant mon message

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 4 minutes, Romitou a dit :

Bonsoir, les variables temporaires ne fonctionnent pas avec skript-db.
Je te conseille de passer par des variables simples pour effectuer tes requêtes.
Bonne soirée. 🙂

Merci. Le problème c'est que j'ai parfois des variables très complexes et ce n'est pas très utile et propre de créer des variables à chaque fois...

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 3 minutes, KneaXy a dit :

(Je ne savais pas, mon message est donc eronné ?)

Salut, les variables temporaires ne fonctionnent pas pour éviter les injections SQL.
Une alternative, mais qui remet en question la sécurité de la requête est d'utiliser '%unsafe {_var}%' 😉

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
il y a 2 minutes, Romitou a dit :

Salut, les variables temporaires ne fonctionnent pas pour éviter les injections SQL.
Une alternative, mais qui remet en question la sécurité de la requête est d'utiliser '%unsafe {_var}%' 😉

Ne savait pas ;o 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 3 minutes, Romitou a dit :

Salut, les variables temporaires ne fonctionnent pas pour éviter les injections SQL.
Une alternative, mais qui remet en question la sécurité de la requête est d'utiliser '%unsafe {_var}%' 😉

Comme ça ? Si c'est ça, ça ne fonctionne pas non plus

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est un ancien souvenir, il est possible que ce ne soit plus le cas.
Dans tous les cas, la seule et unique solution pour le moment est d'utiliser des requêtes sécurisées et donc utiliser des variables normales.
Il y a récemment eu un nouveau add-on dans les ressources, tu peux y jeter un œil mais les requêtes ne sont pas sécurisées, à toi de voir si tu es à l'aise en Java.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir ! Je vais faire ma petite pub ... xD

Il existe un Addons "HydraDb",

pas de problème niveau des variables temporaires, mais il ne gères pas les injections SQL ducoup, il faut faire attention à vos requêtes et vérifié les variables avant l'envoie !

https://skript-mc.fr/forum/files/file/334-hydradb-gestion-bdd/

 

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 37 minutes, Yghore a dit :

Bonsoir ! Je vais faire ma petite pub ... xD

Il existe un Addons "HydraDb",

pas de problème niveau des variables temporaires, mais il ne gères pas les injections SQL ducoup, il faut faire attention à vos requêtes et vérifié les variables avant l'envoie !

https://skript-mc.fr/forum/files/file/334-hydradb-gestion-bdd/

 

Excellent, merci beaucoup!

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.