CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   MySQL (http://www.codingforums.com/forumdisplay.php?f=7)
-   -   How do I change from mysql to mysqli ? (http://www.codingforums.com/showthread.php?t=286874)

countrydj 02-01-2013 02:07 PM

How do I change from mysql to mysqli ?
 
I have a script that is written in PHP and MySql. It works well.

However, I think it is now time to convert to MySqli.

I am using: php-5.3.3-14.el6_3.x86_64 and mysql-5.1.66-2.el6_3.x86_64 on CentOS release 6.3 (Final)

I have a global.php file which is called in my add.php page
My global.php contains:
PHP Code:

//connect to the database
if(!($link=mysql_pconnect($hostName$userName$password))){
    
displayErrMsg(sprintf("Error connecting to the host %s, by user %s"$hostName$userName));
    exit();
}

//select the database
if(!mysql_select_db($databaseName$link)){
    
displayErrMsg(sprintf("Error in selecting the %s database"$databaseName));
    
displayErrMsg(sprintf("error: %d %s"mysql_errno($link), mysql_error($link)));
    exit();


My add.php page contains:
PHP Code:

$qry "INSERT INTO " $vars["table directory"] . " "etc...

and

if(!(
$results mysql_query($qry$link))){
        
displayErrMsg(sprintf("Error in executing %s query"$qry));
        
displayErrMsg(sprintf("error:%d %s"mysql_errno($link), mysql_error($link)));
        exit();
    } 

Can anybody advice if it is a straight forward job to convert ???

I have a few scripts, that were written over the years, that could do with converting.

Thanks,

Fou-Lu 02-01-2013 07:39 PM

This is pretty good so far for easy conversions with procedural mysqli.
Connection is easier:
PHP Code:

$link mysqli_connect($hostName$userName$password$databaseName);
if (!
$link)
{
    
displayErrMsg(sprintf("Error connecting to the host %s, by user %s on database %s.  Cause: %s (%d)"$hostName$userName$databaseNamemysqli_connect_error(), mysqli_connect_errno())); 


There is no separate database selection mechanism anymore.

As for querying and errors, without going into prepared statements, you can almost use what you have. The mysql_query is replaced with mysqli_query, and the parameters are reversed. So the $link is ALWAYS required and is the first argument.
The error calls are the same, just again with mysqli_error/errno instead of the mysql_error/errno.
So your previous use of $link as a requirement, will actually help you with the conversion process.

countrydj 02-03-2013 11:34 AM

Hi Fou-Lu ...
Many thanks for your advise.

I didn't realise how easy it was.
I have tried in the past, but I think that I didn't put $link first, so it didn't work.
I made the same mistake this time, but went back to your post a read it more closely.

I have now changed my current project to mysqli.
I will now change all my other database projects.

Many thanks,


All times are GMT +1. The time now is 08:52 AM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.