# MySql\_Query

## `MySql_Query` (FB)

FUNCTION\_BLOCK MySql\_Query EXTENDS CBM.ETrig

**Short description:**

> This function block executes a MySQL command that returns results, e.g. SELECT, etc.

**Detailed description:**\
The MySQL commands must be constructed using an array. The array length is defined by the GLOBAL CONSTANTS. The FBox is based on the general behavior model “Etrig”, so you can process and observe the current process state within your application.

**Info about MySQL\_Command:**\
Non-numeric SQL parameter values must be quoted with quotation marks (apostrophe = '). To use an apostrophe inside a CODESYS string, you must declare it with a dollar sign plus apostrophe ($') or with $27.

e.g:

```
MySQL_Command[0] := 'SELECT * FROM table WHERE name ='
MySQL_Command[1] := '$27nonNumberValue$27 ';
```

**Caution:** Maximum length for identifiers are 250 bytes and for field data 500 bytes,

InOut:

| Scope  | Name               | Type                                                                                        | Comment                                                                        |
| ------ | ------------------ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Input  | `MySQL_Command`    | <p>ARRAY<br>\[0..gc\_MySQL\_iStatementMax]<br>OF<br>STRING(gc\_MySQL\_iStatementLength)</p> | MySQL command                                                                  |
| Inout  | `MySQL_Connection` | MySQL\_ConnectionString                                                                     | <p>MySQL connection string which holds the server and login<br>information</p> |
| Inout  | `stResultSet`      | MySQL\_DataSet                                                                              | Query result                                                                   |
| Output | `eError`           | ERROR                                                                                       | Error type                                                                     |
| Output | `sExecute_State`   | `STRING(200)`                                                                               | Current execute state                                                          |
