gpt4 book ai didi

php - ADODB - 从 Mysql 切换到 Mysqli

转载 作者:行者123 更新时间:2023-11-29 05:16:44 24 4
gpt4 key购买 nike

鉴于 MySQL 即将被弃用,我需要将一个使用 ADODB 的大型网站从 MySQL 迁移到 MySQLi。

现在我已经在 Stackoverflow 上查找了一些主题,感谢社区,我已经对需要完成的工作有了一个大致的了解。关于此事的最佳主题是那些:

ADODB mySQLi Connection

Switch large website from MySQL to MySQLi

但是,我仍然需要对我使用 ADODB 的特定情况进行更多说明。

这是我用来连接到数据库的:

define('DBHOST', 'db_host');
define('DBUSER', 'db_user');
define('DBPASS', 'db_pass');
define('DBNAME', 'db_name');

include('adodb/adodb.inc.php');
$db = ADONewConnection('mysql');
$db->Connect(DBHOST,DBUSER,DBPASS,DBNAME) or die("Database not found!");

所以首先我要改变:

$db = ADONewConnection('mysql');

$db = ADONewConnection('mysqli');

我想这是简单的部分。

既然我正在使用 ADODB,我是否还需要将 MySQL_* 函数的所有实例更改为 MySQLi_* 或 ADODB 会自动处理?我想我知道答案,但无论如何还是要问。

我最常用的 MySQL_ 函数是:

mysql_insert_id()
mysql_query()
mysql_fetch_array()
mysql_num_rows()
mysql_escape_string()
mysql_connect()
mysql_select_db()
mysql_error()

最常见的用法类似于 $variable = mysql_insert_id();$v1 = mysql_query($v);

从 MySQL 迁移到 MySQLi for ADODB 时,还有什么我应该考虑的吗?

最佳答案

"do I also need to change all instances of MySQL_* functions to MySQLi_* ?"

答案是肯定的。不同的 MySQL API/函数不会混用。从连接到查询,您必须使用相同的 API/函数。

您可以使用以下函数,只需将 mysql_ 替换为 mysqli_,同时在需要它的函数中将数据库连接作为第一个参数传递。

  • mysqli_query($connection, $query).

它们标有星号 *

mysqli_insert_id() - *
mysqli_query() - *
mysqli_fetch_array()
mysqli_num_rows()
mysqli_escape_string() - *
mysqli_connect() - *
mysqli_select_db() - *
mysqli_error() - *

关于php - ADODB - 从 Mysql 切换到 Mysqli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com