За последние 24 часа нас посетили 21656 программистов и 1018 роботов. Сейчас ищут 714 программистов ...

num_rows

Тема в разделе "PHP для новичков", создана пользователем Geebrox, 11 июл 2018.

Метки:
  1. Geebrox

    Geebrox Активный пользователь

    С нами с:
    30 июл 2016
    Сообщения:
    24
    Симпатии:
    1
    Что я делаю не правильно?

    PHP:
    1. <?php
    2.  
    3.   require_once "core/database.php";
    4.   if(isset($_POST['login']) && isset($_POST['password']))
    5.   {
    6.     $login = $_POST['login'];
    7.     $password = $_POST['password'];
    8.  
    9.     $login = $mysql_id->real_escape_string($login);
    10.  
    11.     $cache = $mysql_id->real_query("SELECT FROM accounts WHERE login = '" . $login . "'");
    12.  
    13.     if($cache->num_rows == 0)
    14.     {
    15.       echo "пользователь не существует";
    16.     }
    17.  
    18.     else
    19.     {
    20.       echo "пользователь существует";
    21.     }
    22.   }
    23.  
    24.   $mysql_id->close();
    25.  
    26. ?>
    выдает: Notice: Trying to get property of non-object inC:\xampp\htdocs\zns\login.phpon line13
    пользователь не существует
     
  2. Cyrius

    Cyrius Активный пользователь

    С нами с:
    3 июл 2016
    Сообщения:
    98
    Симпатии:
    4
    пишет, что $cache не является обьектом, а вы хотите от него свойства
     
  3. Geebrox

    Geebrox Активный пользователь

    С нами с:
    30 июл 2016
    Сообщения:
    24
    Симпатии:
    1
    ну я то понял, что пишет, а как исправить то?
     
  4. Cyrius

    Cyrius Активный пользователь

    С нами с:
    3 июл 2016
    Сообщения:
    98
    Симпатии:
    4
    https://php.ru/manual/function.maxdb-real-query.html
    возвращает бул, а не обьект вовсе
    --- Добавлено ---
    Кода недостаточно, кинь класс который используется
     
  5. Geebrox

    Geebrox Активный пользователь

    С нами с:
    30 июл 2016
    Сообщения:
    24
    Симпатии:
    1
    Тут весь код, кроме подключение к БД.
    взял пример с кодом $cache->row_nums отсюда
    --- Добавлено ---
    упс, я не правильно составил запрос в БД, простите за невнимательность. Проблема решена.
     
  6. Cyrius

    Cyrius Активный пользователь

    С нами с:
    3 июл 2016
    Сообщения:
    98
    Симпатии:
    4
    [​IMG]

    тут используется метод query, который возвращает обьект PDOStatement, ты же используешь метод real_query, который возвращает буль
    --- Добавлено ---
    попробуй этот метод https://php.ru/manual/mysqli.affected-rows.html
    --- Добавлено ---
    или попробуй заменить real_query на query
     
    Geebrox нравится это.