function login ($login,$pass)
{
Echo "Функция вызвана<br>";
$query="SELECT nick,id,banned,st,visits FROM `Users` WHERE (login='$login' AND pass='$pass')";
if ($result = $this->connection->query($query))
{
$row=$result->fetch_assoc();
echo"Вошли в цикл<br>";
echo $row['st'];
if ($row['banned']==0)
{
echo "Пользователь не забанен<br>";
if ($row['st']==1)
{
echo "Пользователь - обычный пользователь<br>";
$query="UPDATE `Users` SET `visits` = 'visits'+1 WHERE (`id` ='".$row['id']."')";
$this->connection->query($query);
echo "Увеличение числа посещений выполнено<br>";
}
}
else {echo "1";}
echo "Конец";
}
Получается затык с получением данных стобца 'st'
Почему-то не сохраняет в row данные этого столбца, как будто его и нет (хотя sql написан правильно, вставлял его в пхп админе, заменив переменные на значения)
В чём может быть проблема?
PS
Результат выполнения:
Функция вызвана
Вошли в цикл
Пользователь не забанен
Конец
Спустя 9 минут, 12 секунд (23.03.2010 - 22:07) Игорь_Vasinsky написал(а):
Цитата |
Почему-то не сохраняет в row данные этого столбца, |
st ?
b дампик бы в тему.
Спустя 3 минуты, 46 секунд (23.03.2010 - 22:11) Zizilk написал(а):
Да st
Вот
скрипт начал только писать поэтом мд5 не прикручивал, чтобы было удобнее(тк форм регистрации нет ещё)
-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Mar 23, 2010 at 10:10 PM
-- Server version: 5.1.40
-- PHP Version: 5.3.1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `TheOrionGame`
--
-- --------------------------------------------------------
--
-- Table structure for table `Users`
--
CREATE TABLE IF NOT EXISTS `Users` (
`id` int(8) unsigned NOT NULL AUTO_INCREMENT,
`login` varchar(20) COLLATE utf8_bin NOT NULL,
`name` varchar(20) COLLATE utf8_bin NOT NULL,
`nick` varchar(20) COLLATE utf8_bin NOT NULL,
`email` varchar(30) COLLATE utf8_bin NOT NULL,
`pass` varchar(70) COLLATE utf8_bin NOT NULL,
`banned` tinyint(1) unsigned NOT NULL DEFAULT '0',
`banreason` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '0',
`bandate` int(20) unsigned NOT NULL DEFAULT '0',
`st` tinyint(1) unsigned NOT NULL DEFAULT '1',
`register` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`visits` int(9) unsigned NOT NULL DEFAULT '0',
`mes` int(3) unsigned NOT NULL DEFAULT '0',
`newmes` int(3) unsigned NOT NULL DEFAULT '0',
`credits` int(16) NOT NULL DEFAULT '2000',
`fedcreds` int(16) NOT NULL DEFAULT '0',
`megacorp` int(9) unsigned NOT NULL,
`role` int(6) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;
--
-- Dumping data for table `Users`
--
INSERT INTO `Users` (`id`, `login`, `name`, `nick`, `email`, `pass`, `banned`, `banreason`, `bandate`, `st`, `register`, `visits`, `mes`, `newmes`, `credits`, `fedcreds`, `megacorp`, `role`) VALUES
(1, 'Zizilk', 'Василий', 'Zikrait', '****@yandex.ru', '230206', 0, '0', 0, 1, '2010-03-23 21:04:17', 0, 0, 0, 2000, 0, 0, 0);
Вот
скрипт начал только писать поэтом мд5 не прикручивал, чтобы было удобнее(тк форм регистрации нет ещё)
Спустя 5 минут, 35 секунд (23.03.2010 - 22:16) Игорь_Vasinsky написал(а):
ну во превый в первом сообщении ты и не пытаешься записать или изменить чтото в st а тока проверяешь на идентичность к 1,
а что ты туда и как записать хочешь ?
На будущее - вот этого хватит - это и есть нужно, а чё там записано пусть будет секретом.
а что ты туда и как записать хочешь ?
На будущее - вот этого хватит - это и есть нужно, а чё там записано пусть будет секретом.
Цитата |
CREATE TABLE IF NOT EXISTS `Users` ( `id` int(8) unsigned NOT NULL AUTO_INCREMENT, `login` varchar(20) COLLATE utf8_bin NOT NULL, `name` varchar(20) COLLATE utf8_bin NOT NULL, `nick` varchar(20) COLLATE utf8_bin NOT NULL, `email` varchar(30) COLLATE utf8_bin NOT NULL, `pass` varchar(70) COLLATE utf8_bin NOT NULL, `banned` tinyint(1) unsigned NOT NULL DEFAULT '0', `banreason` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '0', `bandate` int(20) unsigned NOT NULL DEFAULT '0', `st` tinyint(1) unsigned NOT NULL DEFAULT '1', `register` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `visits` int(9) unsigned NOT NULL DEFAULT '0', `mes` int(3) unsigned NOT NULL DEFAULT '0', `newmes` int(3) unsigned NOT NULL DEFAULT '0', `credits` int(16) NOT NULL DEFAULT '2000', `fedcreds` int(16) NOT NULL DEFAULT '0', `megacorp` int(9) unsigned NOT NULL, `role` int(6) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAMDEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ; |
Спустя 7 минут, 31 секунда (23.03.2010 - 22:24) Zizilk написал(а):
Цитата (Игорь_Vasinsky @ 23.03.2010 - 19:16) |
ну во превый в первом сообщении ты и не пытаешься записать или изменить чтото в st а тока проверяешь на идентичность к 1, |
Ну записать значение столбца st в массив $row
($row=$result->fetch_assoc(); насколько я понимаю, все запрашиваемые данные из запроса эта функция записывает в $row)
только вот создаётся такое ощущение, что там пусто, как будто $row['st']-неопределенна
А данные таблицы всё равно тестовые от балды
Спустя 6 минут, 16 секунд (23.03.2010 - 22:30) Игорь_Vasinsky написал(а):
в начале страницы пропиши
и выведи весь массив в строку- посмотри мож чё ещё потерялась ?
error_reporting(E_ALL);
и выведи весь массив в строку- посмотри мож чё ещё потерялась ?
Спустя 2 минуты, 1 секунда (23.03.2010 - 22:32) Zizilk написал(а):
Простите во что?
Спустя 4 минуты, 25 секунд (23.03.2010 - 22:37) Игорь_Vasinsky написал(а):
отредактировал предидущее.
Спустя 8 минут, 15 секунд (23.03.2010 - 22:45) Zizilk написал(а):
Уф всё разобрался, дело оказалось совсем не здесь наудивление)
исправил заработало)

исправил заработало)
Спустя 7 минут, 58 секунд (23.03.2010 - 22:53) Игорь_Vasinsky написал(а):
ну.. бывает.