Search the Community
Showing results for tags 'verify if variable is array'.
-
So I have been in and out of AutoIt for a few years now and I've never come across a situration where I'd need to verify if an a variable is an array or not. So here's the deal - I have a database that contains 1 table with a few different columns. When a user initially opens the script, it will see if their "username" pulled from @UserName is stored in the database (which is always unique). If their username is not in the database, it inserts a record (using EzMySql) including their username, full name (pulled from -> _AD_Open() Global $adFullName = _AD_GetObjectAttribute(@UserName, "DisplayName") Global $uSName = @UserName _AD_Close() <-), Time Stamp, Accept Flag (0/1) and Deny Flag (0/1). This is all irrelevant at this point but I just wanted you to understand what I am doing here. Anyways, I am getting to the point to where I am storing specific values from the table into variables. EzMySql will store the data in an array (IF the query finds results) however if it does not, then the variable will not be an array. The problem is, when I run my "If statements" - if I check the variable, there is no way for me to know if the results are stored in array format or not. Here's an example, read the comment above $LookupUser. Func _CheckDatabase() ; Obtain user's Full Name and store as variable. If Not _EzMySql_Startup() Then MsgBox(0, "Error Starting MySql", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf $Pass = "D@#!$dD(#d0939kd(#Dk3093d)(#D039039ddk39dkd" If Not _EzMySql_Open("10.3.3.11", "rug_user", $Pass, "rug", "3306") Then MsgBox(0, "Error opening Database", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf If Not _EzMYSql_Query("SELECT * FROM accept_list WHERE Username = '" & @UserName & "';") Then MsgBox(0, "Query Error", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf If Not _EzMySql_SelectDB("rug") Then MsgBox(0, "Error setting Database to use", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf $LookupUser = _EzMySql_FetchData() ;This is the problem - if there is no data found, $LookupUser[1] for example will not work returning an error. This function currently works but I need more functionality. If $LookupUser == 0 Then $sMySqlStatement = "INSERT INTO accept_list (Username,FullName) VALUES (" & "'" & $uSName & "'," & "'" & $adFullName & "');" If Not _EzMySql_Exec($sMySqlStatement) Then MsgBox(0, "Error inserting data to Table", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf ElseIf $LookupUser <> 0 Then _CheckFlags() ;Call function to verify if user has accepted or not. EndIf _EzMySql_Close() _EzMySql_ShutDown() Return EndFunc