Sign in to follow this  
baptiste27140

MySQL not load

Recommended Posts

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileLoadException: Could not load file or assembly 'MySql.Data, Version=8.0.15.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621) ---> System.IO.FileLoadException: Could not load file or assembly 'MySql.Data, Version=8.0.15.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'.
   at void System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(IntPtr ptrNativeAssemblyLoadContext, string ilPath, string niPath, ObjectHandleOnStack retAssembly)
   at Assembly System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(string assemblyPath)
   at Assembly System.Reflection.Assembly.LoadFrom(string assemblyFile)
   at Assembly System.Reflection.Assembly.LoadFromResolveHandler(object sender, ResolveEventArgs args)
   at RuntimeAssembly AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, string assemblyFullName)
   --- End of inner exception stack trace ---
   at void ExampleResource.Main.OnPlayerLoginAttempt(Client player, string username, string password)
   --- End of inner exception stack trace ---
   at object RuntimeMethodHandle.InvokeMethod(object target, object[] arguments, Signature sig, bool constructor)
   at object System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(object obj, object[] parameters, object[] arguments)
   at void GTANetworkInternals.RemoteEventParser.Parse(Client sender, ulong eventNameHash, object[] args) in C:\Users\Adam\Documents\Git\comp-layer2\BootstrapperNC\Handlers\ResourceInfo.cs:line 62
   at void GTANetworkInternals.RemoteEventHandler.Parse(Client sender, ulong eventNameHash, object[] arguments) in C:\Users\Adam\Documents\Git\comp-layer2\BootstrapperNC\Handlers\ResourceInfo.cs:line 67

 

 

using System;
using GTANetworkAPI;
using MySql.Data.MySqlClient;

namespace ExampleResource
{
    public class Main : Script
    {
        private static string db_string;
        private static string db_host = "127.0.0.1";
        private static string db_user = "root";
        private static string db_pass = "toor";
        private static string db_name = "beroleplay";

        [ServerEvent(Event.ResourceStart)]
        public void OnResourceStart()
        {
            NAPI.Util.ConsoleOutput("RolePlay resource loaded!");
            db_string = "SERVER=" + db_host + "; DATABASE=" + db_name + "; UID=" + db_user + "; PASSWORD=" + db_pass + "; SSLMODE=required;";
        }

        [RemoteEvent("OnPlayerLoginAttempt")]
        public void OnPlayerLoginAttempt(Client player, string username, string password)
        {
            NAPI.Util.ConsoleOutput($"[Login Attempt] Username : {username} | Password : {password}");
            if (LoginAccount(username, password))
            {
                player.TriggerEvent("LoginResult", 1);
            }
            else
            {
                player.TriggerEvent("LoginResult", 0);
            }
        }

        public static bool LoginAccount(string username, string password)
        {
            bool login = false;

            using (MySqlConnection connection = new MySqlConnection(db_string))
            {
                connection.Open();
                MySqlCommand command = connection.CreateCommand();
                command.CommandText = "SELECT status FROM users WHERE pseudo = @username AND password = SHA2(@password, '256') LIMIT 1";
                command.Parameters.AddWithValue("@username", username);
                command.Parameters.AddWithValue("@password", password);

                using (MySqlDataReader reader = command.ExecuteReader())
                {
                    login = reader.HasRows;
                }
            }

            return login;
        }
    }
}

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.