Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 连接到新服务器时出现CodeIgniter 2错误。对成员函数num_rows()的调用_Php_Mysql_Codeigniter_Codeigniter 2 - Fatal编程技术网

Php 连接到新服务器时出现CodeIgniter 2错误。对成员函数num_rows()的调用

Php 连接到新服务器时出现CodeIgniter 2错误。对成员函数num_rows()的调用,php,mysql,codeigniter,codeigniter-2,Php,Mysql,Codeigniter,Codeigniter 2,我在我的个人网络服务器上建立了一个网站。一切都很顺利。当我把它放在网上,导入并连接数据库时,我发现一个核心文件出现了一些奇怪的错误 致命错误:对第986行**/system/database/DB_active_rec.php中的非对象调用成员函数num_rows() 我已经测试并确认数据库正在连接。因此,这一定是服务器配置问题。但是有人能告诉我这是什么吗 这个问题是从数据库连接问题开始的,我通过将db_debug更改为false修复了这个问题 我的一部分人认为这是新Web服务器上的内存问题 $

我在我的个人网络服务器上建立了一个网站。一切都很顺利。当我把它放在网上,导入并连接数据库时,我发现一个核心文件出现了一些奇怪的错误

致命错误:对第986行**/system/database/DB_active_rec.php中的非对象调用成员函数num_rows()

我已经测试并确认数据库正在连接。因此,这一定是服务器配置问题。但是有人能告诉我这是什么吗

这个问题是从数据库连接问题开始的,我通过将db_debug更改为false修复了这个问题

我的一部分人认为这是新Web服务器上的内存问题

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '***';
$db['default']['password'] = '***';
$db['default']['database'] = '***';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

这可能是很多事情。看起来您的脚本期望从数据库行返回一个值,但没有得到任何值。你的986线是什么?是Github吗?您的新数据库是否在与之相关的字段中接受null?

您可能忘记了在模型中的查询末尾添加
result()。典型的模型函数应如下所示:

$q=$this->db->get('table_name')->result();
return $q;
如果在
foreach
中使用模型函数,则该函数应返回一个数组()。查看控制器内部。

我也遇到了同样的问题(这是第二次,因此我觉得我应该深入研究这个主题,可能会帮助某些人),请检查:

  • 如果您没有忘记在远程服务器上导入表
  • 如果表名拼写错误(例如-而不是uux)

您还可以检查表名(大写/小写)。对我来说这很有帮助。

这是986
if($query->num_rows()==0){return 0;}
不是在github上,它是来自开发服务器的同一个数据库。这一定是某种服务器差异。将代码粘贴到发生错误的位置可能更有用,但为什么它在一台服务器上工作得很好,然后在另一台服务器上工作得不同呢。代码不应该是导致它崩溃的原因,是吗?我猜您的本地数据库与服务器数据库不一样。您能确认所有数据都是相同的吗?我认为您的控制器接收到的是一个空变量,而不是一个空数组,因此这可能是问题所在。我可以确认DB是相同的。我把它导出,然后导入。没有更改,也没有错误。请对一些处理数据的代码进行注释,并尝试找到导致问题的正确代码行。并将
探查器
添加到控制器中。