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