PHP / PDO выбирает данные из базы данных с помощью переменной сеанса - PullRequest
0 голосов
/ 31 мая 2011

У меня есть следующая проблема, которую я не могу решить.Я использую PDO с MySQL в следующей функции:

public function checkST($database) {
        if (isset($_SESSION['user'])) {
            $ticket = $_SESSION['user']['session_ticket'];
            $check = $database->query("SELECT * FROM users WHERE session_ticket = 'ST-627eed61b0dcc8fe04068e23c9e9ace10fd59cf7-8104' LIMIT 1");         
            $result = $check->fetchColumn();
            var_dump($result);
            if ($result != 1) {
                header('Location: ../?p=login');
            }
        } else {
            header('Location: ../?p=login');
        }
    }


$ticket = $_SESSION['user']['session_ticket'];
            $check = $database->query("SELECT * FROM users WHERE session_ticket = '".$ticket."' LIMIT 1");          
            $result = $check->fetchColumn();
            var_dump($result);

возвращает:

bool (false)

Но когда я вставляю свойбилет сеанса, например:

$ticket = $_SESSION['user']['session_ticket'];
            $check = $database->query("SELECT * FROM users WHERE session_ticket = 'ST-627eed61b0dcc8fe04068e23c9e9ace10fd59cf7-8104' LIMIT 1");         
            $result = $check->fetchColumn();
            var_dump($result);

, возвращает:

string(1) "1"

, что является ожидаемым результатом.

1 Ответ

0 голосов
/ 31 мая 2011

Это не так понятно .. однако попробуйте это:

$ check = $ database-> query ('SELECT * FROM users WHERE session_ticket ='. $ Ticket. 'LIMIT 1');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...