За последние 24 часа нас посетили 23323 программиста и 1555 роботов. Сейчас ищут 1054 программиста ...

Call to a member function query() on a non-object

Тема в разделе "PHP и базы данных", создана пользователем SamyRed, 24 июл 2015.

  1. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Здравствуйте, нужна помощ. Уже второй день не могу понять в чём проблема.
    Есть страница регистрации. Она отправляет данные в БД, но когда перед отправкой делаю проверку на существование логина - выдаёт ошибку:
    ... Call to a member function query() on a non-object ...
    Самое интерестное то, что скрипт где происходит проверка логина я тупо копипастил, и у других он работает.
    И ещё, пробовал кучу разных вариантов данного скрипта с кучи разных сайтов. Но все они возвращают ту же ошибку.
    Вот, собственно, сам код:
    Код (PHP):
    1. <?php
    2.     if ($user_founded == 1){
    3.     setcookie("reg_user_found", 1);
    4.     header("Location:../index.php");}
    5.     if ($user_notfound == 1){
    6.     header ("Location: index.php");}
    7.     
    8.     $login = $_COOKIE["User_Login"];
    9.     $passwd = $_COOKIE["User_Passwd"];
    10.     $mail = $_COOKIE["User_Mail"];
    11.     $skype = $_COOKIE["User_Skype"];
    12.     $name = $_COOKIE["User_Name"];
    13.  
    14.         $dbh = mysql_connect('localhost', 'root', '');
    15.         mysql_select_db('srcraft');
    16.     
    17.     $query = mysql_query("SELECT COUNT(id) FROM users WHERE login='".mysql_real_escape_string($login)."'")or die ("<br>Invalid query: " . mysql_error()); 
    18.     if(mysql_result($query, 0) > 0){
    19.         echo "Пользователь с таким именем уже существует.";
    20.         $user_founded = 1;}
    21.         else
    22.             {
    23.                 $success = $mysqli->query ("INSERT INTO `users`       // <--- строка на которую указует ошибка;
    24.                 (`login`, `password`, `email`, `skype`, `name`, `reg_date`) 
    25.                 VALUE ('$login', '".md5($pasword)."', '$mail', '$skype', '$name', '".time()."')");
    26.                 $user_notfound = 1;
    27.             }    
    28. ?>
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Просто программировать нужно не методом копипасты. Или хотя бы понимать, что копипастите, и как оно работает, и вообще что происходит. Нельзя нахватать кусков отовсюду, сшить франкенштейна и верить, что он оживет.
     
  3. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Спасибо огромное, понял в чём ошибка.
    А насчёт копипасты - я только учусь =). Да я в принципе и понимаю что значит этот код, просто не обратил внимание на то что варианты разные. Зато теперь знаю это. И в следующий раз обращу на это внимание. Надо учиться методом проб и ошибок)
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Сейчас ты учишься копипастить, а не программировать, вот в чем беда. На этом мопеде далеко не уехать. Попробуй сделать что-то свое. Потихоньку, по ступеньке, но попробуй. А там, если "это твое", попрет как по маслу.