Search code examples
phpmysqlimysqlnd

Is possible to enable MySQL Native Driver (mysqlnd)?


Possible Duplicate:
Call to undefined method mysqli_stmt::get_result

My web host has PHP 5.3.10 and I'm using mysqli, but some functions like get_result() doesn't work because it needs mysqlnd.

I made some tests and appears that mysqlnd isn't used. Is possible to enable it or is needed to reinstall PHP (I can't do this because is a web hosting).

I don't want to change my code to work without it.


Solution

  • mysqldnd is a library that provides MySQL-connectivity to mysql_*, mysqli_* and PDO functions/methods.

    Those three extensions are compiled either with mysqlnd, or with libmysql ; and cannot be compiled using both at the same time : they use one library, or the other.
    This means the only way to switch between libmysql and mysqlnd is to re-compile PHP (or, at least, the mysqli extension, in your case) ; or to install a version of it that is compiled against the library you want.

    Basically, this can only be done by the administrator of your server -- so, in your case, you seem to be stuck with libmysql ; even if it lacks some interesting features.


    Once again, using an hosting service with which you are not administrator has advantages (less maintenance for you, you probably pay less), but you are not able to do whatever you want with "your" server.