Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема в запросе MSQl

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Alex_dark74
Отправлено: 18 Августа, 2012 - 09:25:37
Post Id


Частый гость


Покинул форум
Сообщений всего: 210
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1.     function Add (){ //Добавление мееджера
  2.         if ($this->Security() == TRUE){
  3.                
  4.             $result = mysql_query("INSERT INTO manager (
  5.                `last_name`,
  6.                `name`,
  7.                `sex`,
  8.                `color`,
  9.                `login`,
  10.                `password`,
  11.                `secret_question`,
  12.                `secret_key`
  13.                ) VALUES (
  14.                '$this->last_name',
  15.                '$this->name',
  16.                '$this->sex',
  17.                '$this->color',
  18.                '$this->login',
  19.                '$this->password',
  20.                '$this->secret_question',
  21.                '$this->secret_key'
  22.                )");
  23.         if (!$result)
  24.         die(mysql_error());
  25.             }
  26.         else {
  27.             echo "Пароли не одинаковый";
  28.         }


Выдает Unknown column 'Alex' in 'where clause'
Хотя колонки 'Alex' нет в базе

'Alex' должно вставляться в колонку "name"
 
 Top
Stivir
Отправлено: 18 Августа, 2012 - 09:43:50
Post Id


Частый гость


Покинул форум
Сообщений всего: 128
Дата рег-ции: Май 2012  


Помог: 2 раз(а)




Alex_dark74, зачем поля класса в одинарные кавычки вставил?
 
 Top
Alex_dark74
Отправлено: 18 Августа, 2012 - 09:51:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 210
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Stivir пишет:
зачем поля класса в одинарные кавычки вставил

А какие нужно?

(Отредактировано автором: 18 Августа, 2012 - 09:59:04)

 
 Top
Stivir
Отправлено: 18 Августа, 2012 - 10:02:49
Post Id


Частый гость


Покинул форум
Сообщений всего: 128
Дата рег-ции: Май 2012  


Помог: 2 раз(а)




я бы так попробовал:
PHP:
скопировать код в буфер обмена
  1.  
  2. function Add (){ //Добавление мееджера
  3.         if ($this->Security() == TRUE){
  4.                
  5.             $result = mysql_query("INSERT INTO manager (
  6.               `last_name`,
  7.               `name`,
  8.               `sex`,
  9.               `color`,
  10.               `login`,
  11.               `password`,
  12.               `secret_question`,
  13.               `secret_key`
  14.               ) VALUES (
  15.               $this->last_name,
  16.               $this->name,
  17.               $this->sex,
  18.               $this->color,
  19.               $this->login,
  20.               $this->password,
  21.               $this->secret_question,
  22.               $this->secret_key
  23.               )");
  24.         if (!$result)
  25.         die(mysql_error());
  26.             }
  27.         else {
  28.             echo "Пароли не одинаковый";
  29.         }
  30.  
 
 Top
Green
Отправлено: 18 Августа, 2012 - 10:41:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


Помог: 9 раз(а)




Alex_dark74 пишет:
               '$this->last_name',
               '$this->name',
               '$this->sex',
               '$this->color',
               '$this->login',
               '$this->password',
               '$this->secret_question',
               '$this->secret_key'

PHP:
скопировать код в буфер обмена
  1.      
  2. '" . $this->last_name . "',
  3. '" . $this->name . "',
  4. '" . $this->sex . "',
  5. '" . $this->color . "',
  6. '" . $this->login . "',
  7. '" . $this->password . "',
  8. '" . $this->secret_question . "',
  9. '" . $this->secret_key . "'

?

(Отредактировано автором: 18 Августа, 2012 - 10:58:51)

 
 Top
Bio man
Отправлено: 18 Августа, 2012 - 10:51:02
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




PHP:
скопировать код в буфер обмена
  1. '{$this->last_name}',
  2. '{$this->name}',
  3. '{$this->sex}',
  4. ....

И проверь, нет ли в значениях кавычек, переменные нужно экранировать
 
 Top
Alex_dark74
Отправлено: 18 Августа, 2012 - 12:30:44
Post Id


Частый гость


Покинул форум
Сообщений всего: 210
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Спасибо!
Проблема оказалась совсем не там...

Так как используется Security(), проверяющий пароли на одинаковость, а в нем используется Duble_log () проверяющий схожесть логов, ВОТ ТАМ ТО И БЫЛА ПРОБЛЕМА


Спасибо за оперативность
(Добавление)
Теперь другая проблема
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. class Manager {
  3.    var $last_name;
  4.    var $name;
  5.    var $sex;
  6.    var $color;
  7.    var $login;
  8.    var $pass1;
  9.    var $pass2;
  10.    var $password;
  11.    var $secret_question;
  12.    var $secret_key;
  13.  
  14.    function Duble_log (){ //Проверка двойного логина
  15.  
  16.         $result = mysql_query("SELECT * FROM manager WHERE `login` = '{$this->login}'") OR die(mysql_error()); 
  17.        //-------------------------
  18.        if(!mysql_num_rows($result)){
  19.            echo 'Добавляем';
  20.        }
  21.         else {
  22.            echo 'Такой пользователь существует, воспользуйтесь восстанвление пароля';
  23.         }
  24.    }
  25.    
  26.    function Security (){ //Проверка паролей
  27.        if ($this->Duble_log()== TRUE){
  28.            
  29.            if ($this->pass1 == $this->pass2){
  30.                return TRUE;
  31.            }
  32.            else {
  33.                return FALSE;
  34.            }
  35.        }
  36.        else {
  37.            return FALSE;
  38.        }
  39.    }
  40.  
  41.    function Add (){ //Добавление мееджера
  42.        if ($this->Security() == TRUE){
  43.                
  44.            $result = mysql_query("INSERT INTO manager (
  45.                `last_name`,
  46.                `name`,
  47.                `sex`,
  48.                `color`,
  49.                `login`,
  50.                `password`,
  51.                `secret_question`,
  52.                `secret_key`
  53.                ) VALUES (
  54.                '$this->last_name',
  55.                '$this->name',
  56.                '$this->sex',
  57.                '$this->color',
  58.                '$this->login',
  59.                '$this->password',
  60.                '$this->secret_question',
  61.                '$this->secret_key'
  62.                )");
  63.        if (!$result)
  64.        die(mysql_error());
  65.            }
  66.        else {
  67.            echo "Пароли не одинаковые";
  68.        }
  69.        
  70.    }
  71. }


Получается что в Security () проблема!
Через гет приходит 2 одинаковых пароля, а он почему то пишет "Пароли не одинаковые"
Там вроде все понятно...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB