【问题标题】:MySQL to Mysqli - Database Class - PHPMySQL 到 Mysqli - 数据库类 - PHP
【发布时间】:2017-02-05 16:25:08
【问题描述】:

我将我的服务器更新为新的 PHP 7,因为到目前为止我使用的是 PHP 5。 但是数据库类不再工作了,所以我想将 MySql 函数转换为 Mysqli。 我想将此功能修改为mysqli,有人可以帮我吗? 谢谢

function query($s='',$rows=false,$organize=true) {
    if (!$q=mysql_query($s,$this->con)) return false;
    if ($rows!==false) $rows = intval($rows);
    $rez=array(); $count=0;
    $type = $organize ? MYSQL_NUM : MYSQL_ASSOC;
    while (($rows===false || $count<$rows) && $line=mysql_fetch_array($q,$type)) {
        if ($organize) {
            foreach ($line as $field_id => $value) {
                $table = mysql_field_table($q, $field_id);
                if ($table==='') $table=0;
                $field = mysql_field_name($q,$field_id);
                $rez[$count][$table][$field]=$value;
            }
        } else {
            $rez[$count] = $line;
        }
        ++$count;
    }
    if (!mysql_free_result($q)) return false;
    return $rez;
}

MySqli 版本(但不完整):

function query($s='',$rows=false,$organize=true) {
    if (!$q=mysqli_query($this->con,$s)) return false;
    if ($rows!==false) $rows = intval($rows);
    $rez=array(); $count=0;
    $type = $organize ? MYSQLI_NUM : MYSQLI_ASSOC;
    while (($rows===false || $count<$rows) && $line=mysqli_fetch_array($q,$type)) {
        if ($organize) {
            foreach ($line as $field_id => $value) {
                $table = mysql_field_table($q, $field_id);
                if ($table==='') $table=0;
                $field = mysqli_fetch_field_direct($q,$field_id)->name;
                $rez[$count][$table][$field]=$value;
            }
        } else {
            $rez[$count] = $line;
        }
        ++$count;
    }
    if (!mysqli_free_result($q)) return false;
    return $rez;
}

感谢您的帮助。

【问题讨论】:

  • 具体是什么问题?
  • 请添加您实际遇到的问题以及与之相关的所有相关信息。目前,这听起来像是“请为我做这件事”。
  • PHP 手册可以帮助您转换此函数/方法...

标签: php mysql mysqli php-7


【解决方案1】:

我认为你应该启用 MySQLi 扩展。

对于窗户:

在 php.ini 中取消注释

extension=php_mysqli.dll

对于 linux:

在 php.ini 中取消注释

extension=php_mysqli.so

在 Ubuntu 中它位于

/etc/php/7.0/apache2/php.ini

如果这不能解决您的问题,请分享更多信息。

【讨论】:

    猜你喜欢
    • 2010-12-04
    • 2023-01-30
    • 2017-05-04
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    相关资源
    最近更新 更多