Forgot?

Database Configuration Changed to MySQLi

Reply Topic
Link to this post 30 Sep 10

Hi, I just installed Ninja Journal and Joomla threw a message that the DB configuration was changed to mysqli? Is this supposed to happen and what are potential effects of this change?
Thanks!
Herb

Link to this post 30 Sep 10

FYI
Just found that for some reason, either a conflict or the DB configured mysqli, the contact component, aiContactSafe wouldn't work.
I uninstalled Journal and the koowa plugin, changed the configuration.php parameter for DB back to mysql and things are working well again.
Thanks!
Herb

Link to this post 30 Sep 10

Hi Herb,

Ninja Journal, NinjaBoard, Ninja Video Gallery, and the next major versions of all our components will require mysqli. This is because the framework that powers them, Nooku (aka Koowa), requires that.

mysqli stands for mysql(improved). Please read the first paragraph here: http://en.wikipedia.org/wiki/MySQLi

If you go into Joomla Global configuration, you'll see the option to change your database type. All it takes is to change mysql to mysqli.

FYI, PHP 6 will have mysqli as the default, although mysql will still be an option.

Hopefully Stian will know how to handle this... maybe we need to ask the aiContactSafe people to make some changes.

Cheers,
Mark

Link to this post 30 Sep 10

Thanks Mark. I did start reading up on mysqli today and found out that things are moving in that direction.
What is your take on PDO? I saw where some folks are of the mind that it would be better to skip mysqli and use PDO?
I'll post on aiCS site about this and if you know Stian, perhaps put a bug in his ear too :)
Cheers!
Herb

Link to this post 03 Oct 10

Hi Herb,

I'm no developer, so honestly I have no idea whether PDO is better than mysqli :P

Stian is away in Belgium for a week, and due back on the 7th or 8th. He'll post here then.

Cheers,
Mark

Link to this post 08 Oct 10

Hi guys,

I havent tried PDO on a actual project yet, so I wouldn't know if that's a good move.
I'll need to check out how mainstream they are before we evaluate if it'll be better for us to move in that direction one day :)

Btw, the aiCS problem should be fixed in the latest version I think?
If not, sure I'll contact them and work something out.

Cheers,
Stian

Cheers,
Stian

Link to this post 14 Nov 10

Gday Mark
happy to accept that MySQLi is the way of the future. However I'd never heard of it and it seems it makes all the Ninja stuff imcompatible with Fabrik. Certainly after installing Ninja Content we had all sorts of strange (to me) errors mentioning Koowa etc. Its a shame as the first glance at your stuff looks great.

So as it stands since I can't live without Fabrik I have to reluctantly give up on Ninja. (However I am off to the Fabrik forum now to check)

So, in case the feedback is useful, more info on your site re MySQLi and why you love it would be great. In my ignorance I thought that MySQLi was an error on your part. I think there may be a few like me who when get an error with anything that isn't compatible with this brave new world may just assume you stuffed up. (since mySQL is such a standard)

I guess from your end if its only Fabrik that won't play nice with Ninja then you might ignore it. Certainly the googlesphere was not flooded with people having the same error <grin>.

So hope this is useful feedback and if you can shed any light on something I may have missed on how to make Fabrik play nicely with Ninja extensions that would also be great. (if I am in not the first person to mention it)

Regards
Nick Sibbing

Link to this post 14 Nov 10

Hi Nick,

MySQL is the standard, that is why we're using the newer MySQLi PHP extension, rather than the old MySQL one.
There's no such thing as a MySQLi server, in fact MySQLi is a PHP only name.

The standard MySQL version, which is also our minimum requirement, is 5.
However, only the MySQLi extension provides access to features found in MySQL version 4.1 and later.

The differences between the two PHP extensions for MySQL is as major as the difference between PHP4 and PHP5.

Secondly, Joomla provides two database adapters out of the box.
MySQL and MySQLi, so as long as developers do their job and make use of the native database adapter in Joomla, using MySQLi is not a problem at all, Joomla supports it natively and 1.5 native extensions subsequently do.

However should an extension do something dirty, and call raw mysql calls that are doing essentially the same thing Joomlas database adapter is doing, then we'll be in trouble.

But should that be the case, then that or those extensions are not incompatible with any of our extensions, but they're incompatible with Joomlas ability to run in MySQLi mode.

Regarding Fabrik, this is the first time we hear about conflicts with them.
The Fabrik guys are known for their skill regarding being as Joomla native as you can, and as early as you can.
So I would be surprised if they didn't support MySQLi.

I will checkout Fabrik and run some compatability testing and find out where the conflict is.
Depending on the outcome, we'll either release updated versions of our extensions with the fix, or we'll submit a patch to the Fabrik guys.

Thanks,
Stian

Link to this post 15 Nov 10

Hi Stian,

Thanks for your reply, we've been doing a little compatibility testing on our site and seemed to have narrowed down the culprit of the error that comes up in Fabrik.

The error we get is "Fatal error: Cannot access empty property in /public_html/libraries/joomla/utilities/arrayhelper.php on line 69".

We found this only occurs when the Ninja Framework - System Plugin is enabled. After taking a quick look at the ninja.php file, we looked at a reference to 'KHelperArray' we made a blind jump and commented out the onAfterRoute() function. The site wasn't using SEF Urls, so thought it wouldn't impact the site

After uploading and enabling the framework plugin, the error no longer appears and both components seem to work fine.

Hope this helps,

Kind Regards,
Nick Sibbing

Link to this post 15 Nov 10

Thanks for sharing that,
I was just about to run some compat testing, but now I wont have to thanks to you :)

It looks like that SEF function you mentioned is a workaround we had to use earlier to make the posting of topics work with SEF on.

I'll do some testing to see if that's actually still needed or not.

Thanks,
Stian

Link to this post 25 Nov 10

The onAfterRoute function is now removed from the RC6 trunk, turns out we no longer need it at all :)

Link to this post 25 Nov 10

Thanks Stian

Home Forum Joomla Extension Support NinjaJournal Database Configuration Changed to MySQLi