php - MySQL 到 Mysqli - 数据库类 - PHP

标签 php mysql mysqli php-7

我将服务器更新到了新的 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;
}

感谢您的帮助。

最佳答案

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

对于 Windows:

取消 php.ini 中的注释

extension=php_mysqli.dll

对于 Linux:

取消 php.ini 中的注释

extension=php_mysqli.so

在 Ubuntu 中它位于

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

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

关于php - MySQL 到 Mysqli - 数据库类 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39734804/

相关文章:

php - Laravel:非复合名称 'Cache' 的 use 语句无效

PHP:检查 $_SERVER ['HTTP_REFERER' ] 相等性的最佳方法是什么?

php - 检测 PHP 脚本是否正在交互式运行

php - 无法修复西里尔字母问题。 htmlspecialchars/PHP/MySQL

php - 无法使用 mysqli 面向对象中的预准备语句更新数据

PHP - ID 生成器//不适用于 Linux

python - 将字典转换为字符串并用逗号分隔每个键值对

mysql - 如何更新/插入表中的指定行

php - 什么时候使用/不使用准备好的语句?

php - 来自 JSON 的 mysql 中的 bind_param