<script type="text/x-red" data-template-name="MySQLdatabase"> <div class="form-row"> <label for="node-config-input-host"><i class="fa fa-globe"></i> Host</label> <input type="text" id="node-config-input-host"> </div> <div class="form-row"> <label for="node-config-input-port"><i class="fa fa-random"></i> Port</label> <input type="text" id="node-config-input-port"> </div> <div class="form-row"> <label for="node-config-input-user"><i class="fa fa-user"></i> User</label> <input type="text" id="node-config-input-user"> </div> <div class="form-row"> <label for="node-config-input-pass"><i class="fa fa-lock"></i> Password</label> <input type="password" id="node-config-input-password"> </div> <div class="form-row"> <label for="node-config-input-db"><i class="fa fa-database"></i> Database</label> <input type="text" id="node-config-input-db"> </div> <div class="form-row"> <label for="node-config-input-tz"><i class="fa fa-clock-o"></i> Timezone</label> <input type="text" id="node-config-input-tz"> </div> </script> <script type="text/javascript"> RED.nodes.registerType('MySQLdatabase',{ category: 'config', defaults: { host: {value:"127.0.0.1",required:true}, port: {value:"3306",required:true}, //user: {value:"",required:true}, //pass: {value:"",required:true}, db: {value:"",required:true}, tz: {value:""} }, credentials: { user: {type: "text"}, password: {type: "password"} }, label: function() { return this.db; } }); </script> <script type="text/x-red" data-template-name="mysql"> <div class="form-row"> <label for="node-input-mydb"><i class="fa fa-database"></i> Database</label> <input type="text" id="node-input-mydb"> </div> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> </script> <script type="text/x-red" data-help-name="mysql"> <p>Allows basic access to a MySQL database.</p> <p>This node uses the <b>query</b> operation against the configured database. This does allow both INSERTS and DELETES. By its very nature it allows SQL injection... so <i>be careful out there...</i></p> <p><code>msg.topic</code> must hold the <i>query</i> for the database, and the result is returned in <code>msg.payload</code>.</p> <p><code>msg.payload</code> can contain an array of values to bind to the topic.</p> <p>Typically the returned payload will be an array of the result rows.</p> <p>If nothing is found for the key then <i>null</i> is returned,</p> <p>The reconnect timeout in milliseconds can be changed by adding a line to <b>settings.js</b> <pre>mysqlReconnectTime: 30000,</pre></p> </script> <script type="text/javascript"> RED.nodes.registerType('mysql',{ category: 'storage-input', color:"#e97b00", defaults: { mydb: {type:"MySQLdatabase",required:true}, name: {value:""} }, inputs:1, outputs:1, icon: "db.png", label: function() { var levelNode = RED.nodes.node(this.mydb); return this.name||(levelNode?levelNode.label():"mysql"); }, labelStyle: function() { return this.name?"node_label_italic":""; } }); </script>