【问题标题】:running using xampp error on ubuntu : Fatal error: Call to a member function rowCount() on a non-object在 ubuntu 上使用 xampp 错误运行:致命错误:调用非对象上的成员函数 rowCount()
【发布时间】:2015-09-21 05:00:43
【问题描述】:

我正在使用xamppWindows 7 测试运行良好的程序, 但是当我使用Ubuntumysqlphpapache 使用apt-get)上传到服务器时,它会出错

致命错误:在第 56 行的 /var/www/siarsip/class/user.php 中的非对象上调用成员函数 rowCount()

这里的代码被剪掉了:

function getAllUser(){
		$query=$this->db1->query("SELECT a.user_id,a.username,a.password,a.NIP,a.role,b.category,a.input_date,a.last_update FROM users as a RIGHT JOIN user_categories as b ON a.role=b.usercat_id ORDER BY role");
		$jml_data=$query->rowCount();
		if($jml_data>=1){
			$hasil=$query->fetchAll(); //line 56
			return $hasil;
		}else{
			return $jml_data;
		}
	}

我已尝试将第 56 行更改为:

if(!empty($query) AND $jml_data > 0) {

还是不行。

更新: 使用@cjriii 代码,我已将第 56 行更新为使用此代码:

if(is_object($query))

{ { 代码在这里 }

}

现在没有错误,我尝试登录产生同样的错误 “致命错误:在第 74 行的 /var/www/siarsip/class/user.php 中的非对象上调用成员函数 rowCount()”

	function loginUser($username,$password){
		$password_md5=md5($password); 
		$query=$this->db1->query("SELECT*FROM users WHERE username='$username' AND password='$password_md5'");
		if(is_object($query))
{
		$hasil=$query->rowCount(); //line 74
		return $hasil;
	}
}

我已将代码再次插入到第 74 行 if(is_object($query)) {

不会产生错误。 但是现在我无法使用通常有效的用户名和密码登录。

需要其他建议兄弟..

【问题讨论】:

  • 任何框架使用??
  • @Abdulla,没有兄弟,只是使用原生 php
  • 使用 pdo 类还是 peo php??
  • @Abdulla 不使用 pdo 类。关于peo php,那是什么?我从来不知道..
  • 你可以使用count函数和mysql fetch array函数

标签: php mysql xampp


【解决方案1】:

两件事:

在调用方法之前测试 $query 是否是一个对象。这就是错误的来源。

其次,不要测试 !empty($query),而是尝试测试 is_object($query)。

if(is_object($query))
{
    $jml_data = $query->rowCount();
    if($jml_data >= 1)
    {
        //rest of your code here
    }
    else
        return $jml_data;
}

编辑:

请检查 empty() 上的文档:您的调用可能会返回一个有效值,因为 empty 会返回 false。

http://php.net/empty http://php.net/manual/en/function.is-object.php

【讨论】:

  • 您好 cjriii,感谢您的快速响应。现在它可以工作,但在另一行产生了另一个错误。我已经改变它的工作。但我无法使用用户名和密码登录。 *我可以在评论中插入代码还是应该在aswer问题中写?
  • 嗨 cjriii,你能再次帮我解决这个新问题吗?更新脚本后我无法登录..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 2012-05-30
  • 2016-08-30
  • 2015-02-06
  • 2012-05-14
  • 2013-11-19
  • 2017-04-30
相关资源
最近更新 更多