За последние 24 часа нас посетили 22787 программистов и 1012 роботов. Сейчас ищет 871 программист ...

Выводит значение 0

Тема в разделе "PHP для новичков", создана пользователем Паша92, 28 фев 2017.

  1. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    PHP:
    1. <?php
    2.           $money = $_SESSION['money'];
    3.           echo '<span>' . (int)$money . '</span>';
    4. ?>
    Хотя в базе money = 123
     
    #1 Паша92, 28 фев 2017
    Последнее редактирование модератором: 28 фев 2017
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    если так: var_dump($_SESSION['money']);
     
  3. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    NULL
    --- Добавлено ---
    PHP:
    1. CREATE TABLE IF NOT EXISTS `users` (
    2.   `id` int(15) NOT NULL AUTO_INCREMENT,
    3.   `login` varchar(15) COLLATE utf8_unicode_ci DEFAULT '0',
    4.   `password` varchar(15) COLLATE utf8_unicode_ci DEFAULT '0',
    5.   `money` int(15) NOT NULL,
    6.   PRIMARY KEY (`id`)
    7. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
     
  4. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    @Паша92, а при чем тут база? Ты же берешь переменную из сессии, а не из базы.
     
  5. Ivanov_Sania

    Ivanov_Sania Новичок

    С нами с:
    2 дек 2016
    Сообщения:
    14
    Симпатии:
    6
    PHP:
    объявлял перед установкой значения из базы в сессию?
    Перед чтением тоже нужно объявлять, если в разных пределах видимости установка и чтение.
     
  6. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    PHP:
    1. <?php
    2.                     $query = ("SELECT * FROM users WHERE login = $login");
    3.                     echo '<span>' . (int)$query["money"] . '</span>';
    4.                 ?>
    даже так выводит ноль
     
  7. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Значит какая-то ошибка в запросе к БД. Попробуй вместо переменной $login ввести существующий логин.
     
  8. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    PHP:
    1. var_dump((int)$query["money"]);

    int(0)
     
  9. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    @Паша92, покажи полностью код запроса к базе.
     
  10. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    PHP:
    1. function connectToDB() {
    2.     global $link, $dbhost, $dbuser, $dbpass, $dbname;
    3.     ($link = mysql_pconnect("$dbhost", "$dbuser", "$dbpass")) || die("Couldn't connect to MySQL");
    4.  
    5.     mysql_select_db("$dbname", $link) || die("Couldn't open db: $dbname. Error if any was: ".mysql_error() );
    6. }
     
  11. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    @Паша92 показывай лучше весь код, можешь в zip архив и приложить к сообщению
     
  12. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    @Паша92, и лучше используй mysqli, вместо mysql. Кстати, mysql в PHP 7 кажется совсем выпилили.
     
  13. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    а база выше
     

    Вложения:

  14. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    выше выложил.
     
  15. Ivanov_Sania

    Ivanov_Sania Новичок

    С нами с:
    2 дек 2016
    Сообщения:
    14
    Симпатии:
    6
    У тебя в базе нет столбика "money", это во-первых, а во-вторых этого не достаточно, тут ты в переменную $query присвоил запрос
    PHP:
    1. $query = ("SELECT * FROM users WHERE login = $login");
    а его нужно еще и выполнить и перебрать все столбцы:
    PHP:
    1. $query = "SELECT * FROM users WHERE login = $login";
    2. $result=mysql_query($query, $link);
    3.  
    4. while ( $row = mysql_fetch_assoc($result) )
    5. {      
    6.      $id = $row['id']; //id
    7.      $login = $row['login']; //login
    8.      $money = $row['money']; //money
    9. }
    А потом те данные, что тебе нужны уже записывать в сессию

    PHP:
    1. $_SESSION['money'] = $money;

    Чтобы вывести данные из сессии в другом файле
    PHP:
    1. echo $_SESSION['money'];
     
    denis01 и Паша92 нравится это.
  16. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0

    Спасибо огромное=)