За последние 24 часа нас посетили 17325 программистов и 1723 робота. Сейчас ищут 1520 программистов ...

Порядок выполнения скрипта в бд

Тема в разделе "PHP для новичков", создана пользователем energy455, 4 фев 2015.

  1. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    получаем код с формы методом пост
    создаем новое подключение к бд , если ошибка выводим , иначе продолжаем
    выбераем логин из таблицы код и записываем в переменную $user01
    если $user равняется $elita_keys , то удача , иначе еррор

    накосячил с выбором, да?)
     
  2. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    пожалуйста цитируй только то, на что отвечаешь. ты на фотку отвечаешь?

    поподробнее! что по твоему попадает в переменную $elita_keys?
    звучит правдоподобно. только я не знал, что можно соединиться с mysql с пустым логином, помоему тут всегда ошибка.
    ну да ладно, допустим … а что вот эта магия означает?
    Код (PHP):
    1. printf($stop .= $lang = "Ошибка подключения к бд, попробуйте еще раз", mysqli_connect_error());
    2. exit();

    мой юный падаван, судя по тексту запроса, у тебя есть таблица kod и ты запросил из нее все записи, без каких-то ограничений. затем прочитал первую из них (порядок записей тоже не указан, взял просто первую попавшуюся запись). получил эту запись в массив.
    этого не может случится. даже если до этого не случилось ошибки, значения в переменных точно разные.

    пока ты настолько сильно косячишь, что обсуждать "что поправить" нет смысла.
    смотри в моей подписи руководство по отладке. попробуй выводить проверочные значения после КАЖДОЙ операции чтобы знать что происходит. читай справку по функциям.
                   
     
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я чувствую, что он начинает понимать.
     
  4. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    в переменную попадает набор цифр

    строчка выводит ошибку подключения
    - это вывод ошибки в движке DLE
    а вот с запросом накасячил

    Добавлено спустя 34 секунды:
    - это вывод ошибки в движке DLE
    а вот с запросом накасячил

    Код (PHP):
    1.         $user01 = mysqli_query($mysqlis, "SELECT login FROM kod WHERE login = ".$elita_keys."");
    2.         $id_users01 = mysqli_fetch_array($user01);
    3.                 
    4.         if ($id_users01 == $elita_keys) 
    5.         {
    6.         $stop .= $lang = "все ок";
    7.         
    8.        } else { 
    9. неверно
    10. }
    11.  
    12.  
    Добавлено спустя 4 минуты 2 секунды:
    Добавлено спустя 40 секунд:
    ой, сорри за этот флуд)
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    кавычки забыл
    Код (Text):
    1. "SELECT login FROM kod WHERE login = ".$elita_keys.""
    ты блин понимаешь, что это тебе вернёт то, что равно $elita_keys?
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    а код из viewtopic.php?f=13&t=51771&p=414396#p414360 говорит нам, что в переменную попадает true или false. см. справку по isset()

    у тебя в следующей строке происходит exit(), то есть конец. а значит значение этих переменных нигде не будет использовано.

    конечно накосячил. и опять накосячил в новой версии. начни уже отлаживать самостоятельно: включи вывод ошибок, делай var_dump(), тестируй запросы в phmyadmin…
               
     
  7. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    не понял, ("выбрать login из таблицы kod при условии что логин=кею")
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чего ты не понял?
     
  9. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
  10. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
     
  11. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Чувак, ты из бд выбираешь что-то со значением РАВНЫМ ЭТОЙ ПЕРЕМЕННОЙ. Соотв получишь ты то, что в этой переменной уже есть.

    Либо запрос вернёт ошибку.
     
  12. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    как правильно составить запрос?
     
  13. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    он составлен хорошо.

    если такой код есть в таблице, то он тебе вернётся. Тебе не важно, что ты его уже знаешь. Важно, что если такого кода нету в таблице и вернётся фалс, то значит прислали неверно.
     
  14. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    а дальше как сделать?
    Код (PHP):
    1. if($user01 > 0){
    2. пускаем в форму 2 и удаляем
    3. }else{
    4. error
    5. } 
    Вот так можно?

    Добавлено спустя 3 минуты 54 секунды:
     
  15. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Почти. Я не помню что там возвращается в случае облома
     
  16. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    Код (PHP):
    1.     $user01 = mysqli_query($mysqli, "SELECT login FROM kod WHERE login = '$elita_keys'");
    2.         $text_keys = mysqli_fetch_array($user01);
    3.         
    4.          if (empty($text_keys['login'])) 
    5.         {
    6.             $stop .= 'Вы ввели не правильный ключ :(';
    7.         }else {
    8.  
    Получилось так, как я хотел выше (if($text_elita > 0 ){ пуск }else{error} ) не получилось(
    Теперь, как правильно составить запрос на удаление строчки , которую он проверил из бд?
     
  17. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тебе просто повезло, что empty() не кидает ворнинг. Проверяй ОТВЕТ бд пожалуйста.
     
  18. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    а как ответ проверить?
     
  19. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    var_dump() тебе поможет. Настала пора осваивать дебаг =)
     
  20. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    mysqli_query, mysqli_fetch_array, $text_keys['login'] всё это проверь по очереди, как это сделать смотри в документации по каждой функции, и по массивам для последнего.
     
  21. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    mysqli_query
    Код (Text):
    1. string(12) "mysqli_query" string(12) "mysqli_query"
    mysqli_fetch_array
    Код (Text):
    1. string(18) "mysqli_fetch_array" string(18) "mysqli_fetch_array"
    $text_keys['login']
    Код (Text):
    1. NULL NULL
    так?
     
  22. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  23. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    а как? чет я даже не понял что читать...
     
  24. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    документацию
     
  25. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ещё книгу по php можно для начинающих почитать, там все основы рассказывают.