Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
3 / 2 / 1
Регистрация: 22.11.2019
Сообщений: 23
MySQL

Ошибки параметров mysqli_query и mysqli_num_rows

03.12.2019, 02:17. Показов 1686. Ответов 4

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Пишу систему регистрации и авторизации пользователей. При запросе данных из таблицы бд MySQL выдаёт две ошибки:
Warning: mysqli_query() expects at least 2 parameters, 1 given in /sites/easynet.kiev.ua/login.php on line 18
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /sites/easynet.kiev.ua/login.php on line 19
Invalid username or password!
Подскажите как сию проблему можно исправить или обойти. Код под спойлером.
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE HTML>
<?php require_once("includes/connection.php"); ?>
<?php session_start(); ?>
 
    <?php require_once("includes/connection.php"); ?>
    <?php include("includes/header.php"); ?>
    <?php
 
    if(isset($_SESSION["session_username"])){
    header("Location: intropage.php");
    }
 
    if(isset($_POST["login"]))
 
    if(!empty($_POST['username']) && !empty($_POST['password'])) {
    $username=htmlspecialchars($_POST['username']);
    $password=htmlspecialchars($_POST['password']);
    $query=mysqli_query("SELECT * FROM usertb WHERE username='".$username."' AND password='".$password."'");
    $numrows=mysqli_num_rows($query);
    if($numrows!=0)
 {
while($row=mysql_fetch_assoc($query))
 {
    $dbusername=$row['username'];
  $dbpassword=$row['password'];
 }
  if($username == $dbusername && $password == $dbpassword)
 {
     $_SESSION['session_username']=$username;
   header("Location: intropage.php");
 }
 } else {
    echo  "Invalid username or password!";
 }
 } else {
    $message = "All fields are required!";
 }
 
 ?>
<?php include("includes/header.php"); ?>
 
<html lang="en">
    <body>
        <div class="container mlogin">
        <div id="login">
        <h1>Вход</h1>
        <form action="" id="loginform" method="post" name="loginform">
            <p><label for="user_login">Имя пользователя<br>
            <input class="input" id="username" name="username" size="20"type="text" value=""></label></p>
            <p><label for="user_pass">Пароль<br>
            <input class="input" id="password" name="password" size="20"type="password" value=""></label></p>
            <p class="submit">
            <input class="button" name="login" type="submit" value="Войти"></p>
        </form>
        </div>
        </div>
        <?php include("includes/footer.php"); ?>
    </body>
</html>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2019, 02:17
Ответы с готовыми решениями:

Запрос рабочий но mysqli_query выдает ошибку Warning: mysqli_query(): Couldn't fetch mysqli in [Мой_Файл]
Фой код генерирует запрос INSERT INTO `users`(`login`, `email`, `password`, `lname`, `fname`, `mname`, `address`) VALUES ('user',...

Код ошибки Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\OSPanel\domains\localhost\edit.php on li
ОШИБКА НА 24 СТРОКЕ &lt;h1&gt;Вопросы&lt;/h1&gt; &lt;? include_once('lib.php'); $opros=one_opros($_GET); foreach ($opros as $key) { echo...

Ошибки по несовместимости типов параметров
Не понимаю как сделать правильно, к каким типам привести нужно параметры. Программу делаю к заданию: 1. Разработать прикладной...

4
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
03.12.2019, 09:56
Gregory_N, в mysqli_query первым параметром нужно передать объект подключения:
PHP
1
$query=mysqli_query($connect, "SELECT * FROM usertb WHERE username='".$username."' AND password='".$password."'");
Ну и на 22 строке тоже ошибка выскочит. Везде используете mysqli_....

Добавлено через 4 минуты
и забегая вперёд, возможно вам будет полезна эта тема: Cannot modify header information
1
3 / 2 / 1
Регистрация: 22.11.2019
Сообщений: 23
03.12.2019, 16:03  [ТС]
sasha0012, благодарю, на странице логина ваше решение помогло. Я также подредактировал параллельную страницу для регистрации пользователя и там две ошибки отвалилось, но осталась ещё одна:
Warning: mysqli_query() expects at least 2 parameters, 1 given in /sites/easynet.kiev.ua/register.php on line 19
Сможете подсказать как сие непотребство исправить?
Код страницы регистрации под спойлером
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!DOCTYPE HTML>
<html lang="en">
<?php require_once("includes/connection.php"); ?>
<?php
 
    if(isset($_POST["register"])){
 
    if(!empty($_POST['full_name']) && !empty($_POST['username']) && !empty($_POST['password'])) {
 $full_name= htmlspecialchars($_POST['full_name']);
 $username=htmlspecialchars($_POST['username']);
 $password=htmlspecialchars($_POST['password']);
 $query=mysqli_query($link, "SELECT * FROM usertb WHERE username='".$username."'");
  $numrows=mysqli_num_rows($query);
if($numrows==0)
   {
    $sql="INSERT INTO usertb
  (full_name, username, password)
    VALUES('$full_name', '$username', '$password')";
  $result=mysqli_query($sql);
 if($result){
    $message = "Account Successfully Created";
} else {
 $message = "Failed to insert data information!";
  }
    } else {
    $message = "That username already exists! Please try another one!";
    }
    } else {
    $message = "All fields are required!";
    }
    }
    ?>
 
<?php if (!empty($message)) {echo "<p class='error'>" . "MESSAGE: ". $message . "</p>";} ?>
<?php include("includes/header.php"); ?>
 
<body>
  <div class="container mregister">
  <div id="login">
    <h1>Регистрация</h1>
    <form action="register.php" id="registerform" method="post" name="registerform">
      <p><label for="user_login">Полное имя<br>
      <input class="input" id="full_name" name="full_name"size="32"  type="text" value=""></label></p>
      <p><label for="user_pass">Имя пользователя<br>
      <input class="input" id="username" name="username"size="20" type="text" value=""></label></p>
      <p><label for="user_pass">Пароль<br>
      <input class="input" id="password" name="password"size="32"   type="password" value=""></label></p>
      <p class="submit"><input class="button" id="register" name= "register" type="submit" value="Зарегистрироваться"></p>
      <p class="regtext">Уже зарегистрированы? <a href= "login.php">Введите имя пользователя</a>!</p>
    </form>
  </div>
  </div>
  <?php include("includes/footer.php"); ?>
</body>
</html>
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
03.12.2019, 16:07
Лучший ответ Сообщение было отмечено Gregory_N как решение

Решение

Gregory_N, ситуация аналогична с предыдущей:
Цитата Сообщение от sasha0012 Посмотреть сообщение
в mysqli_query первым параметром нужно передать объект подключения:
то есть функция mysqli_query всегда принимает два параметра. 1 - подключение, 2 - тело запроса. На 19 строке так должно быть:
PHP
1
$result=mysqli_query($link, $sql);
1
3 / 2 / 1
Регистрация: 22.11.2019
Сообщений: 23
03.12.2019, 16:10  [ТС]
sasha0012, заработало. Благодарю за помощь и краткую консультацию. =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.12.2019, 16:10
Помогаю со студенческими работами здесь

Ошибки при добавлении параметров в реестр
Приветствую ! Имеется следующее: set LOWPRIOR=&quot;1_prog.exe&quot; &quot;2_prog.exe&quot; for %%A in (%LOWPRIOR%) do ( reg add...

Не работает mysqli_num_rows
Здравствуйте. Ломаю голову, запрос возвращает результат, но в num_rows почему-то пусто. $res = $mysqli-&gt;query(&quot;SELECT url,...

Вывод ошибки при вводе неверных параметров в textbox
Помогите! Допустим у нас есть 1 textbox и в него можно записывать только цифры, как вывести сообщение об ошибке при вводе в textbox текста,...

Mysqli_num_rows возвращает пустоту
Здравствуйте. Столкнулся с такой проблемой, что mysqli_num_rows возвращает NULL $res_user = mysqli_num_rows(mysqli_query($link,...

Ошибка с функцией mysqli_num_rows
Приветствую! Никак не могу разобраться, почему выскакивает ошибка при попытке посчитать кол-во строк в массиве с помощью функции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru