php7中的mysql_list_dbs和mysql_tablename

时间:2018-08-06 16:48:31

标签: php mysql mysqli

我正在将代码从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;
    }

1 个答案:

答案 0 :(得分:0)

迁移到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/