# MySql\_Query

## `MySql_Query` (FB)

FUNCTION\_BLOCK MySql\_Query EXTENDS CBM.ETrig

**Short description:**

> This function block executes a MySQL command with a return result, such as SELECT, etc.

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

**Info on MySQL\_Command:**\
Non-numeric SQL parameter values must be enclosed in quotation marks (apostrophe = ‚). To use an apostrophe within 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 ‘;
```

{% hint style="warning" %}
**Attention:** The maximum length for identifiers is 250 bytes and for field data 500 bytes.
{% endhint %}

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                                                          |
