Follow us on Twitter X-Cart on Facebook Wiki
Shopping cart software Solutions for online shops and malls
 

Converted X-Cart 4.1.18 to use mysqli instead of mysql

 
Reply
   X-Cart forums > X-Cart 4 > Dev Questions
 
Thread Tools Search this Thread
  #11  
Old 01-15-2008, 03:46 PM
 
intel352 intel352 is offline
 

X-Wizard
  
Join Date: Dec 2005
Posts: 1,071
 

Default Re: Converted X-Cart 4.1.18 to use mysqli instead of mysql

Apparently mysql didn't handle persistent connections properly. Mysqli does away with persistent connections because of this.

There is a new solution, called mysqlnd, which restores persistent connections and hopefully implements them properly

http://dev.mysql.com/downloads/connector/php-mysqlnd/

Quote:
Advantages of mysqlnd

The new development is licensed under the terms of the PHP license to solve any license issues.

During the early stage of the development we will offer it from MySQL. As soon as mysqlnd is feature complete and production ready we will move it to the PHP project CVS repository on http://cvs.php.net.

On the C-level mysqlnd uses many of the proven and stable PHP internal functions. All the code of the new driver is contained in the ext/mysqli source directory. There is no need to link any external libraries. Thus you neither need to install the MySQL client library to compile PHP with ext/mysqli support nor do you need to take care of versions. Compiling has been made easier.

The performance of some functions has been improved. We have measured considerable performance improvements, for example when fetching buffered result sets.

Quote:
Features and Limitations

The 5.0.1-beta release covers the functionality of the libmysql beside some functions that are marked as experimental in the ext/mysqli documentation. Support for Prepared Statements and Unicode has been added.

From the API additions discussed with Community members in November 2006 during the Frankfurt PHP conference, we managed implement:

* improved persistent connections
* mysqli_fetch_all()
* performance statistics call: mysqli_get_cache_stats(), mysqli_get_client_stats(), mysqli_get_connection_stats()

More additions will follow.

Quote:
FAQ

Q: Is mysqlnd a new PHP extension?

No, the new MySQL driver for PHP is not a new PHP extension. The driver is a replacement for libmysql on the internal C level of the PHP extension ext/mysqli.

You can continue to compile the ext/mysqli extension with libmysql like ever since. We will not remove this functionality. Alternatively you can compile ext/mysqli with mysqlnd. We suggest that you try it, because mysqlnd is easier to compile and we found it to be faster than libmysql.

Q: Can other PHP extensions use it?

Yes, they can, if they want to. The source code of the new driver is the ext/mysqli/mysqlnd directory of the download files. Extension writes will find that mysqlnd mimics the API of libmysql respectively the MySQL C API.

Q: Will PDO/MySQL support it?

It is up to the PHP community to decide if and when PDO/MySQL will support it. Our development focus is currently on finishing the implementation and giving an example how to use it with ext/mysqli.

Q: Does it work with any MySQL Server before 4.1?

The MySQL native driver for PHP requires PHP 5 or PHP 6.

You can use it to connect to the MySQL Server 4.1 or newer. Please note the MySQL Lifecycle Policy

Q: How can I contribute and/or report bugs?

For development discussion and reporting bugs please subscribe to the mailing list php@lists.mysql.com. See http://lists.mysql.com/ for details.

Q: What is next on your mysqlnd TODO?

The primary goal is to stabilize the source code and to finish the ext/mysql port. On the long run we consider to further improve our support for Prepared Statements and to add a client-side result set cache.
__________________
-Jon Langevin
WARNING: Unethical developer - NOT RECOMMENDED
See details here
Reply With Quote
  #12  
Old 01-15-2008, 03:51 PM
 
intel352 intel352 is offline
 

X-Wizard
  
Join Date: Dec 2005
Posts: 1,071
 

Default Re: Converted X-Cart 4.1.18 to use mysqli instead of mysql

BTW, with this new mysqlnd solution, you may be able to use the mysqli rewrite that I created, along with the mysqlnd driver (which is apparently a further extension of mysqli itself)
__________________
-Jon Langevin
WARNING: Unethical developer - NOT RECOMMENDED
See details here
Reply With Quote
  #13  
Old 01-15-2008, 05:56 PM
  bigredseo's Avatar 
bigredseo bigredseo is offline
 

X-Man
  
Join Date: Oct 2002
Location: Omaha, NE, USA
Posts: 2,364
 

Default Re: Converted X-Cart 4.1.18 to use mysqli instead of mysql

Yeah, I've been looking at the mysqlnd earlier today actually (another program partner was working on a solution for their software on our servers). Looks promising. I see they even made reference to PHP6 on the mysqlnd page!
__________________
Conor Treacy - Big Red SEO - @bigredseo
Search Engine Optimization & Internet Marketing - We Bring Your Website Out Of Hiding!
If you can't be found on Google, Bing or Yahoo, you pretty much don't exist on the Internet.
Omaha SEO Office with National & Local SEO Services
Hourly Consulting - great for SEO Disaster Recovery, Audits and DIY Guidance
Reply With Quote
  #14  
Old 01-15-2008, 11:37 PM
 
intel352 intel352 is offline
 

X-Wizard
  
Join Date: Dec 2005
Posts: 1,071
 

Default Re: Converted X-Cart 4.1.18 to use mysqli instead of mysql

[UPDATE] - After several months of using this code with no issues, I've updated the original post with a zip file containing a DIFF (patch file) that can be applied via X-Cart Admin. This DIFF was created using X-Cart 4.1.8
__________________
-Jon Langevin
WARNING: Unethical developer - NOT RECOMMENDED
See details here
Reply With Quote
Reply
   X-Cart forums > X-Cart 4 > Dev Questions



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -8. The time now is 08:09 PM.

   

 
X-Cart forums © 2001-2020