首页 >后端开发 >php教程 >如何有效地从MySQL迁移到MySQLi?

如何有效地从MySQL迁移到MySQLi?

Susan Sarandon
Susan Sarandon原创
2024-12-21 06:53:09910浏览

How to Effectively Migrate from MySQL to MySQLi?

将 MySQL 转换为 MySQLi

根据提供的代码,最初看起来可能就像替换 mysql_query($sql); 一样简单。与 mysqli_query($sql);。然而,要完全转换为 MySQLi,需要进一步修改。

函数替换:

第一步是将每个 mysql_* 函数替换为其相应的 mysqli_*对方。 MySQLi 扩展函数摘要为此目的提供了全面的列表。

  • mysql_connect -> mysqli_connect
  • mysql_error -> mysqli_error 或 mysqli_connect_error
  • mysql_query -> mysqli_query

数据库选择:

与 MySQL 不同,MySQLi 允许您在使用 mysqli_connect 的第四个参数进行连接时指定数据库。或者,如果愿意,您仍然可以使用 mysqli_select_db 函数。

其他注意事项:

  • 某些函数的参数要求略有不同。仔细检查函数摘要。
  • 由于 MySQL 和 MySQLi 都是基于 libmysql,因此参数差异很小。

示例:

以下是将提供的代码转换为 MySQLi:

// Header file with the database configuration
$DB['dbName'] = "emails";
$DB['host'] = "localhost";
$DB['user'] = "root";
$DB['pass'] = "";

// Establish a connection to the database
$link = mysqli_connect($DB['host'], $DB['user'], $DB['pass'], $DB['dbName']);

// Query execution function
function executeQuery($sql) {
    $result = mysqli_query($link, $sql);
    if (mysqli_error($link)) {
        $error = '<BR><center><font size="+1" face="arial" color="red">An Internal Error has Occured.<BR> The error has been recorded for review</font></center><br>';
        if ($_SESSION['auto_id'] == 1) {
            $sql_formatted = highlight_string(stripslashes($sql), true);
            $error .= '<b>The MySQL Syntax Used</b><br>' . $sql_formatted . '<br><br><b>The MySQL Error Returned</b><br>' . mysqli_error($link);
        }
        die($error);
    }
    return $result;
}

// Example query
$sql = 'SELECT auto_id FROM friend_reg_user WHERE auto_id=' . $info['auto_id'];
$result_member = executeQuery($sql);
if ($line_member = mysqli_fetch_array($result_member)) {
    extract($line_member);
} else {
    header("location: index.php");
    exit;
}
?>

转换后完成后,测试您的脚本以确保一切正常运行。

以上是如何有效地从MySQL迁移到MySQLi?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn