It’s been a while that I worked with databases, but I recently picked up a new project that is heavily database driving (mysql, php) and it turns out that some mysql commands will later be depreciated in the newer versions of PHP.
I am now in the journey to learn mysqli commands, which is very similar to the old ones, but I’m getting deprecated warnings messages left to right until I get familiar to the new ways of mysqli.
Bellow are some pros and cons:
- MySQLi’s interface is similar to the older MySQL interface. This versatility in using both object-oriented and procedural formats makes it easier for users of the older system to make the change to the improved one, as well as facilitating use for people that are completely new to the system. Using the old system, the user would enter a function looking like this: mysql_connect(), using the new system, this old code can be updated simply by changing the function to this: mysqli_connect().
- MySQLi has good support and maintenance, making the transition to and use of the new system safe and secure.
- The user has the ability to utilize new features available in the newest versions of MySQL servers. This is one of the biggest advantages of MySQLi. Other platforms are unable to take full advantage of MySQL’s newest capabilities.
- The installation process with MySQLi not only easy, but is automatic when the PHP5 MySQL package is installed in Windows or Linux.
- MySQLi performs (slightly) faster than its competition. With non-prepared statements, the system performs ~2.5% faster, and ~6.5% faster with prepared ones. This is only a slight advantage and may only matter to certain users.
- MySQLi only works with MySQL databases, whereas PDO is flexible and able to work with multiple database systems, including IBM, Oracle and MySQL. If you have to switch databases, MySQLi is not the best option.
- MySQLi is not as portable as PDO.
- Binding parameters with MySQLi is not as easy or flexible as with PDO. MySQLi uses a numbered binding system and doesn’t support named parameters like PDO does
Like any software updates and improvements, there are bound to be bugs to be worked out in future versions as well as adherents to the older versions or alternates. Choosing MySQLi over PDO or the MySQL Extension depends on the user’s situation and preferences. While some options are objectively better than others, what it boils down to are the preferences of the user. MySQLi is a secure and versatile option to interacting with the classic MySQL database management system and in fact earns the little “i” at the end of its name.
source: learn more about mysql vs mysqli.