Problems with Logging MySQL

Hey all!

First off, let me say hi! I’m Earl T Harper, I’m using mAirList as a personal user, but I do work for a radio station, so I’m using it to prepare my shows.

Right, now for a problem…

I’m trying to set up a logging database (mostly to see how it works), using MySQL, I have managed to get it to connect but I keep getting the error:

Error Initializing Database Logging: ‘’ Is not a valid integer value

The query I’m using is:

StartCommand=INSERT INTO ‘mairlist’ VALUES (’ ‘, ‘Timestamp’, ‘Started %t%3’)
StopCommand=INSERT INTO ‘mairlist’ VALUES (’ ', 'Timestamp, ‘Stopped %t%3’)

The structure for the table is:

info TEXT

Can anybody help?

Earl T

Hi, and welcome.

You need to replace the ’ ’ for the first (auto increment) parameter by NULL. MySQL will insert the next unused ID.

I’d also suggest that you drop the “ON_UPDATE_CURRENT_TIMESTAMP” option, and use MySQL’s NOW() function instead.

StartCommand=INSERT INTO 'mairlist' VALUES (NULL, NOW(), 'Started %t%3')


… but doesn’t that option also auto-update/insert the field? In other words, if the “ON_UPDATE_CURRENT_TIMESTAMP” option is in use, would the following work?

StartCommand=INSERT INTO 'mairlist' VALUES (NULL, NULL, 'Started %t%3')


Well, it might work, but it does not match the intention. Remember that it’s “ON UPDATE” - if you happen to modify one of the other fields, e.g. the text, later, the timestamp will also be updated.

Oh, and by the way, doesn’t MySQL update all TIMESTAMP fields automatically when an update occurs? Shouldn’t you use DATETIME instead?

I agree, changing the table field to DATETIME is 100% the preferred way! :smiley:


Hi Guys!

Thanks for the help,

I have changed the selected text, but now, when I start to play a track, it goes into a continuous loop of alert boxes saying:

Access Violation at address 00468369 in module “mairlist.exe”. write of address 00784A14

This is very confusing! Hope this helps with de-bugging…

Earl T

Which version are you using?

I am using version 2.0.11 Build 305. :wink:

I have just upgraded to the newest version 2.1.44, which looks absolutly brilliant!!

I have been trying to get the new version to log, and now it just comes up with:

Logging Error (SQL Database): Requested database driver not found

I have tried putting the libmysql.dll file into the mairlist directory, no luck,

Does this help at all?


Earl T

Obviously Torben will give you the definitive answer, but I would not recommend moving DLL files around your PC: that way lies demons … :o So please do yourself a favour and undo any changes like that before proceeding!

I am assuming that you have already checked out the v2.1 mAirList configuration? Config files are somewhat different in v2.1. In v2.0, mairlist.ini contains a [Databases] section; in v2.1, that section is redundant and you need a separate databases.ini file, which is created automatically by the new v2.1 config program.

Try using the new config program and first REMOVE any Databases defined there and Save the config without them, but if there are NOT any databases defined there (quite a likely possibility) when you first use the config program, configure your MySql DB there and then, and again Save the config. Basically what I’m trying to say here is: start with NO databases configured, then Save, close and reopen the config program, create the Database configs from scratch, and then Save and close again.

Hopefully, that will solve your problem.

PS: Several sections of the v2.0 mairlist.ini are now separate .ini files in v2.1; also in v2.1, ALL .ini config files are stored in a config folder ‘under’ your mAirList program files folder. Threfore any existing .ini files which are in your mAirList program files folder (the one with mairlist.exe in it) should either be be moved to the new config folder, or deleted.

PPS: If you’re interested in voicetracking, check out my new IVP script in the Scripts forum. :wink:


Hi Cad!

Thanks for that,

I figured out what the problem was, under protocol, I’d put http:// :stuck_out_tongue: should’ve put mysql-3.23

I then rectified that, the error disappeared, but it’s still not logging, it just seems to create a problem everytime I solve one! Guess this’ll all go to help Torben!


Earl T

P.S. I checked out Leith FM, I believe you work there, you’re sounding good! Are you commercial?

I second Cad. It’s a good idea to keep all DLL files in the same directory as mAirList.exe. This will make sure that mAirList will use exactly this DLL and no other version from your Windows system directory or any other place.

Actually, this will undo one of the advantages of DLL files: the ability to save memory by sharing code among several applications (a DLL is only loaded once into memory, even if accessed by multiple programs at the same time). However, if you consider how small the MySQL DLL actually is, compared to the huge amounts of RAM in recent computers. Or do we need this much RAM nowadays just because programmers think like this? :wink:

I’m more of a ‘consultant’ there these days. I do Clearance Management and occasional techie things, but I’m only rarely at the station. I was one of the team who set up our original RSL about five years ago; I’m very ‘hands off’ these days. LFM is about to complete the first year of its 5-year Community Licence.

LFM is a community radio station just like yours. Unfortunately some of the more CHR-minded DJs bought some very English-sounding liners from a guy down south; and our Chairman recently adopted a jingle package made locally, but which in my opinion is rather poor musically. So while it might sound ‘contemporary,’ IMHO there is lots of improvement and consolidation needed on the Presentation (i.e. jingles/liners/promos) front.

LFM has recently appointed a new Tech Director and I am still trying to persuade them to adopt mAirList instead of the ragbag of semi-appropriate software they use currently (JazlerShow! for jingles and AtomixMP3 for music). Hopefully the ‘new man’ will be less negative than his predecessor. :wink:



I noticed the southerner doing the idents, I was a bit surprised at first, but then I thought it gives you an identity.

I haven’t moved any of the DLL files out of my system32 folder. I litterally downloaded it, stuck it into the same folder as mAirList. This did get rid of the database driver error, but not the absent logging error.

Thanks for your help,

Earl T


Just tried to move the focus off the internet, and onto my computer, so now I have a mysql database on my computer, with mairlist set to log into that instead,

Doesn’t seem to help…

I don’t get any errors, but it doesn’t log anything anyway. It’s really bugging me, I don’t know if it’s the database, or mAirList, but I’ve now tried 2 copies of both!

Can anyone help?


Can you please post the contents of your logging.ini file here? (You can erase the passwords if you like.)

Here it is,

[LogInterface0] Type=Database Protocol=mysql-3.23 Host=localhost Database=mairlist User=mairlist Password=******* StartStatement=INSERT INTO 'mairlist' VALUES (NULL, NOW(), 'Started %t%3') StopStatement=INSERT INTO 'mairlist' VALUES (NULL, NOW(), 'Stopped %t%3')

The database structure has stayed the same:

mairlist (
info TEXT)

Hope that helps!

mAirList 2.1 handles the parameters in the SQL statement differently from the previous version. You can omit the quotes (they will be inserted by mAirList as needed), but you need to define one field per variable. For example, use the following schema:

CREATE TABLE mairlist (
 action TEXT,
 filename TEXT);

The corresponding INSERT commands are:

StartStatement=INSERT INTO 'mairlist' VALUES (NULL, NOW(), 'Started', %3)
StopStatement=INSERT INTO 'mairlist' VALUES (NULL, NOW(), 'Stopped', %3)

There won’t be any problems with escaping the strings this way (imagine a filename containing a ’ sign). I know that having a separate field for each variable is a limitation, and I’m not quite satisfied. Perhaps I will find an even better solution.


I think I have the same problem as Earl - it’s all setup correctly, and if I change the password, username or database name to something I know is incorrect it generates an error - but when everything is ok nothing seems to be logged.

I’ve also tried the same table and settings as posted above - when given the wrong details, an error is generated. When it’s correct, nothing appears to be logged.

Many thanks,


(Using mAirList 2.1.42)

Ok, here’s what I found out:

The logging does work. However, if there’s an error (e.g. in the SQL syntax), you will see no error message because of a bug in the database component I use which fails to pass the error message to the calling function:

I have prepared a new snapshot. Please download it from here: