2016-04-07 4 views
-2

после редактирования моего старого кода на новый я получаю ошибку Undefined property: PDO::$affected_rows и вот часть if ($this->dbCon->affected_rows > 0) может кто-нибудь помочь мне решить эту проблему

class Relation { 

private $loggedInUser; 
private $dbCon; 
public function getRelationship(User $user) { 
     $user_one = (int) $this->loggedInUser->getUserId(); 
     $user_two = (int) $user->getUserId(); 
     if ($user_one > $user_two) { 
      $temp = $user_one; 
      $user_one = $user_two; 
      $user_two = $temp; 
     } 
     $resultObj = $this->dbCon->prepare('SELECT * FROM relationship WHERE user_one_id=:user_one AND user_two_id=:user_two'); 
     $resultObj->execute(array(':user_one' => $user_one,':user_two' => $user_two)); 
     if ($this->dbCon->affected_rows > 0) { 
      $row = $resultObj->fetch(PDO::FETCH_ASSOC); 
      $relationship = new Relationship(); 
      $relationship->arrToRelationship($row, $this->dbCon); 
      return $relationship; 
     } 
     return false; 
    } 

}}

+1

В pdo мы используем [rowCount] (http://php.net/manual/en/pdostatement.rowcount.php), чтобы проверить количество строк, затронутых последним оператором SQL. – Saty

+0

@Saty попытался получить этот вызов to undefined method PDO :: rowCount() ' –

+1

Покажите нам, как вы используете' rowCount() ' – Saty

ответ

2

Объект PDO не имеет свойства affected_rows. Вместо этого вы можете позвонить rowCount() на PDOStatement:

if ($resultObj->rowCount() > 0) { 

Side Примечание: не все базы данных поддерживают метод rowCount() для SELECT, запросов, но MySQL делает.

+0

попытался получить этот вызов 'Call to undefined method PDO :: rowCount() ' –

+0

Посмотрите внимательно, мой код вызывает его на' $ resultObj' не '$ this-> dbCon'. – MrCode

+0

то как насчет dbcon –