我正在将代码从php 5.x迁移到php 7,看来mysql_tablenamemysql_list_dbs没有替代功能。我无法更换它。以下是我不推荐使用它的方式。

{
        $qid = mysql_list_dbs($this->_connectionID);
        $arr = array();
        $i = 0;
        $max = mysqli_num_rows($qid);
        while ($i < $max) {
            $db = mysql_tablename($qid,$i);
            if ($db != 'mysql') $arr[] = $db;
            $i += 1;
        }
        return $arr;
    }

最佳答案

迁移到mysqli(php7)

幸运的是,myslq_mysqli_函数非常相似。唯一的区别是字母i应该附加到mysql_函数。在大多数情况下,您只需要更改函数名称即可。以下是mysql_mysqli_之间不兼容的功能的列表:

mysql_client_encoding()
mysql_list_dbs() (use SHOW DATABASES query)
mysql_db_name()
mysql_list_fields()
mysql_db_query()
mysql_list_processes() (use SHOWPROCESSLIST query)
mysql_dbname()
mysql_list_tables() (use SHOWTABLES query)
mysql_field_flags()
mysql_listdbs() (use SHOW DATABASES query)
mysql_field_len()
mysql_listfields()
mysql_field_name()
mysql_listtables() (use SHOWTABLES query)
mysql_field_table()
mysql_numfields()
mysql_field_type()
mysql_numrows() (use mysqli_num_rows() instead)
mysql_fieldflags()
mysql_pconnect() (append p: to thehostname passed to mysqli_connect())
mysql_fieldlen()
mysql_result()
mysql_fieldname()
mysql_selectdb() (use mysqli_select_db() instead)
mysql_fieldtable()
mysql_table_name()
mysql_fieldtype()
mysql_tablename()
mysql_freeresult() (use mysqli_free_result() instead)
mysql_field_name()
mysql_listtables() (use SHOWTABLES query)
mysql_field_table()
mysql_numfields()
mysql_field_type()
mysql_numrows() (usemysqli_num_rows() instead)
mysql_fieldflags()
mysql_pconnect() (append p: to thehostname passed to mysqli_connect())
mysql_fieldlen()
mysql_result()
mysql_fieldname()
mysql_selectdb() (usemysqli_select_db() instead)
mysql_fieldtable()
mysql_table_name()
mysql_fieldtype()
mysql_tablename()
mysql_freeresult() (usemysqli_free_result() instead)
mysql_unbuffered_query()


有用的链接:http://code-epicenter.com/things-you-should-know-when-upgrading-to-php-7/

关于php - php7中的mysql_list_dbs和mysql_tablename,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51712279/

10-12 21:57