|
|
|
| Столкнулась с такой неожиданной проблемой, которую никак не могу решить.
Есть таблица users MySQL с реальными записями пользователей, которые регистрировались на сайте:
iduser INT(10) NOT NULL AUTO_INCREMENT,
status VARCHAR(6) NOT NULL,
login VARCHAR(12) NOT NULL,
passwd VARCHAR(40) NOT NULL,
email VARCHAR(40) NOT NULL,
mail INT(1) NULL,
activ INT(1) NOT Null,
date DATETIME,
ip VARCHAR(50) NULL,
agent VARCHAR(225) NULL,
PRIMARY KEY (iduser)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
|
В phpMyAdmin добавила в этой таблице еще один столбец
этот столбец изначально должен заполняться при регистрации пользвателей оператором INSERT, а потом меняться при авторизации пользователей через
$q=mysql_query("UPDATE users SET key='$key' WHERE iduser='$iduser'");
|
Но естественно, при регистрации он не заполнялся, так как его просто не было. А теперь при авторизации UPDATE ничего вписать туда не может
Я предполагала, что проблема с типом данных, но нет. Я уже в коде делала такие проверки:
$q=mysql_query("UPDATE users SET ip='12456abvy' WHERE iduser='$iduser'");
|
- UPDATE записывет это значение вместо нормального IP, который в этом поле был записан раньше.
$q=mysql_query("UPDATE users SET key='12456abvy' WHERE iduser='$iduser'");
|
- UPDATE в столбец key ничего не записывает.
И какое решение может быть? | |
|
|
|
|
|
|
|
для: danga
(17.03.2014 в 16:37)
| | 1) возьмите за правило формировать запрос в отдельной переменной
$query ="UPDATE users SET key='12456abvy' WHERE iduser='$iduser'";
|
в этом случае легко контролировать корректность запроса обычным эхо
echo $query ="UPDATE users SET key='12456abvy' WHERE iduser='$iduser'";
|
2) используйте для отладки конструкцию or die()
$q=mysql_query($query) or die(mysql_error());
|
БД сама расскажет что ей не нравится | |
|
|
|
|
|
|
|
для: Valick
(17.03.2014 в 16:55)
| | Я нашла решение проблемы. Нельзя называть столбец именем key. Назвала keycook - теперь все в прядке. У меня такое уже было в другой таблице, кода я пыталась назвать именем to...Другим на заметку:) | |
|
|
|
|
|
|
|
для: danga
(17.03.2014 в 19:45)
| | попробуйте взять key в обратные кавычки `key` | |
|
|
|