За последние 24 часа нас посетили 16807 программистов и 1635 роботов. Сейчас ищут 896 программистов ...

Не могу подключится к базе данных

Тема в разделе "PHP и базы данных", создана пользователем khan, 25 окт 2015.

  1. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    Если я там ужс что накодил, то скажите что почитать.Я только начал учить php. спс
    Это код авторизации на сайте(Denwer), проблема в этих строчках:
    Код (PHP):
    1.  $result = mysqli_query("SELECT * FROM users WHERE login = '$login'");
    2. $myrow = mysqli_fetch_array($result); 
    Вот такая ошибка:

    Warning: mysqli_query() expects at least 2 parameters, 1 given in Z:\home\site\www\prof.php on line 30
    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in Z:\home\site\www\prof.php on line 32
    Я понял что я накосячил с mysqli_query() но что я там не так написал?

    Код (PHP):
    1. <?php
    2. if(isset($_POST['login'])){
    3.     $login = $_POST['login'];
    4.     
    5. }
    6. if($login == ''){
    7.     unset($login);
    8. }
    9.     if(isset($_POST['password'])){
    10.         $password = $_POST['password'];
    11.     }
    12.     if($password == ''){
    13.         unset($password);
    14.     }
    15.      if(empty($login) or empty($password)){
    16.          exit('Поля не могут быть пустыми1');
    17.      }
    18.     $login = htmlspecialchars($login);
    19.     $login = stripslashes($login);
    20.     $login = trim($login);
    21.         $password = htmlspecialchars($password);
    22.         $password = stripslashes($password);
    23.         $password = trim($password);
    24.          
    25.          
    26.           $mysqli = new mysqli('localhost', 'root', '', 'mybase');
    27.         
    28.           $mysqli-> query ("SET NAMES 'utf8'");
    29.            $result = mysqli_query("SELECT * FROM users WHERE login = '$login'");
    30.            
    31.             $myrow = mysqli_fetch_array($result);
    32.            
    33.  
    34.    
    35.            if(empty($myrow['password'])){
    36.                exit('Логин или пароль, не верный2');
    37.             }else{
    38.                 if( $myrow['password'] == $password){
    39.                     $_SESSION['login'] = $myrow['login'];
    40.                     $_SESSION['id'] = $myrow['id'];
    41.                     echo 'Вы успешно вошли!!! <a href='/'>Главная страница</a>';
    42.                 }else{
    43.                     exit('Логин или пароль не верны!3');
    44.                 }
    45.             }
    46.             
    47.            
    48.           
    49.           $mysqli-> close();
    50. ?>
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    переводчиком пробовал пользоваться?
     
  3. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    ага, сразу же.Но понятия не имею что не то с параметрами
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    а что не так, надо передавать 2, а ты передаешь всего 1 - запрос.

    Добавлено спустя 1 минуту:
    к какой БД ты отправляешь этот запрос? вопрос НЕ в смысле mysql или какой то другой, а в том как в этой строчке
    Код (PHP):
    1. $result = mysqli_query("SELECT * FROM users WHERE login = '$login'");
    mysqli_query узнает к какой именно БД ей обращаться.
     
  5. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    ну да mysql(denwer сборка)
    Код (PHP):
    1.         $mysqli = new mysqli('localhost', 'root', '', 'mybase');
    2.       
    3.         $mysqli-> query ("SET NAMES 'utf8'");
    4.          $result = mysqli_query("SELECT * FROM users WHERE login = '$login'");
    5.          
    6.          $myrow = mysqli_fetch_array($result); 
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    к какой БД ты отправляешь этот запрос? вопрос НЕ в смысле mysql или какой то другой, а в том как в этой строчке
    Код (PHP):
    1. $result = mysqli_query("SELECT * FROM users WHERE login = '$login'");
    mysqli_query узнает к какой именно БД ей обращаться.
    к твоей? к моей? или может к той, на которой сделан этот форум?
     
  7. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    Код (PHP):
    1. $result = mysqli_query("SELECT * FROM users WHERE login = '$login'",'mybase'); 
    2.  
    что то типа этого?

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  8. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    а что тут такое 'mybase' ? по типу данных? строчка вроде как, как из этой строчки mysqli_query поймет к какой именно БД идет обращение?

    короче надо в качество второго параметра передавать соединение с БД, соединение ты делаешь тут:
    Код (PHP):
    1. $mysqli = new mysqli('localhost', 'root', '', 'mybase'); 
    и соединением у тебя является $mysqli, а не 'mybase'.

    вопрос еще в очередности параметров, я не знаю что должно идти первым соединение, а потом запрос или на оборот, по этому пробуй.
     
  9. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    спасибо) понял
     
  10. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    А в чём прикол смешивать и ООПшный стиль, и процедурный? Пользуйтесь уж чем-то одним.
     
  11. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    Я начал учить Java и только базу освоил, перешел на php и как то вот оно само)
     
  12. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
  13. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    у Java при изучении есть один недостаток, там нет процедурного стиля / подхода, т.е. человек в принципе не знает как это. При условии что это первый язык, который учит потенциальная жертва.
    По-этому желательно первым учить С++.
     
  14. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Ну с С++ совсем начинать тоже не айс.
     
  15. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    ну не знаю я учит с него, при том что познаний в каких то других языках или хотя бы познаний глубоких в информатике не было, при этом я еще и английски не очень знаю, а лучше сказать вообще.
    И каких то непреодолимых сложностей не вызвало, главное что бы литература толковая была.

    Во-первых на нем программируют реальные приложения, в отличии от допустим бейсиков и паскалей, которые больше подходя для изучения "как надо..", а так же там есть все, и процедурный подход и ООП, и прямая работа с памятью.
     
  16. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    Вот как с меня списано)
     
  17. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Не согласен. При чем тут ООП и при чем тут процедурный стиль. Главное научиться программировать. А какой подход, это уже второе дело. Я начинал с Java и никак проблем при изучении PHP не возникало, практически все оказалось одним и тем же.

    И вообще, не всегда код где используется объект есть ООП, так что и в Java может иметь место не совсем ООП подход.

    Добавлено спустя 16 минут 17 секунд:
    Помню, у меня были проблемы с настройкой Apache и PHP
     
  18. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    ну я php учу где-то неделя, и у меня код смешанный, ооп с проц. Просто я учу то там статью прочитаю то там видос, и как то так выходит.
    где нормальные курсы? :)

    Добавлено спустя 4 минуты 6 секунд:
    Выучил основы(функции, массивы, циклы и тд) сделал обработку форм при регистрации с отправкой в бд, потом сделал авторизацию...худо бедно конечно)и зашел в ступор...что дальше, ниче не знаю почти в php и двигаться куда понятия не имею....беда))

    Добавлено спустя 8 минут 36 секунд:
    когда я дошел до последнего видоса и тот чел сказал что "если я умею обрабатывать формочки, то я уже не плохо знаю php "...но почитав статьи и пообщался с вами на форуме я понял, меня жестоко нае***ли)
     
  19. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Мастер Йода, у тебя тогда все прелести еще впереди. Да прибудет с тобой СИЛА!! :)
     
  20. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    колибание в силе, чую я ахахахах)).....а сколько ты учил php?
     
  21. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    khan, Цигун в помощь, не прекращай восстанавливать своё ЧИ ((((:)
    с php связался в 2009 году, быстро въехал в него после большого опыта на С++... Но, до сих пор, что-то новое узнаю ((:)
    Нет предела - совершенству (;
     
  22. nek

    nek Новичок

    С нами с:
    11 сен 2015
    Сообщения:
    23
    Симпатии:
    1
    Ох смешно)

    Хотя бы это http://getjump.me/ru-php-the-right-way/
    Но вообще по-моему если есть желание систематически развиваться и выбор стоит продолжать java или начинать с ноля php, то имхо лучше java, т.к. потолок для роста повыше.
     
  23. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    Ну опыт с cs и батлой мне не даст быстро въехать)) почему в 16 не начать...все время кажется что 21 это уже поздно и даже Цигун не поможет))

    Добавлено спустя 1 минуту 31 секунду:
    так то оно так, мне Java даже нравится намного больше...но достанет лт моя стремянка до потолка?)
     
  24. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    khan, тебе Цигун и в 98 поможет... Были истории ((:)
     
  25. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    ахаха легенды утаивают всю его мощь да))....пирамиды построили благодаря Цигуну и php ....вооот оно что)