[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема со сбором данных из SQL
Zizilk
имеем такой скрипт
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

-- 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 написал(а):
Уф всё разобрался, дело оказалось совсем не здесь наудивление)
biggrin.gif
исправил заработало)

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.