Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37

Добавление данных на БД через форму

23.08.2017, 15:26. Показов 1381. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp\www\test.ur\add.php on line 34

как устранить ошибку? подскажите пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.08.2017, 15:26
Ответы с готовыми решениями:

Добавление данных в БД через форму
Доброго времени суток! Начинаю изучать php, нужно сделать что бы из формы данные добавлялись в БД. Вот сама форма: <form...

Добавление данных в MySQL через форму
Вот код <?php include("includes/header.php"); ?> <?php include("includes/header3.php"); ?> <form action="invite.php"...

Добавление данных в json, через форму
Почему после отправки корректных данных, файл data.json не дополняется? Изначальный файл Я проверил, если после $data...

24
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
23.08.2017, 16:42
Цитата Сообщение от Uygur_93 Посмотреть сообщение
как устранить ошибку?
Посмотреть в файл add.php
на строчку 34, и определить что там не так.
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
23.08.2017, 21:01
Цитата Сообщение от Uygur_93 Посмотреть сообщение
Warning: mysqli_query() expects at least 2 parameters, 1 given in
попробуйте перевести и прочесть еще раз.
Mysqli_query () ожидает не менее 2 параметров, указанных в

Скорее всего нет подключения к db
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 06:56  [ТС]
я знаю что именно в 34 строке ошибка но каким должен быть второй параметр?
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
24.08.2017, 07:10
Первый параметр это подключение, второй запрос .
Какого у вас не хватает без кода сказать нельзя..
http://www.php.su/mysqli_query
1
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 07:26  [ТС]
//Получаем значение переменных
$id = NULL;
$name = $_POST['name'];
$surname = $_POST['surname'];
$pas = $_POST['pas'];
if (!empty($_POST['name']) && !empty($_POST['surname'] && !empty($_POST['pas']))) {
//Вставляем данные, подставляя их в запрос
$sql = mysqli_query("INSERT INTO users ('id', 'name', 'surname', 'pas')
VALUES (NULL,'$name','$surname','$pas')");
//Если вставка прошла успешно
if ($sql) {
echo "<p>Данные успешно добавлены в таблицу.</p>";
}
else
{
echo "<p>Произошла ошибка.</p>";
}
}

Добавлено через 4 минуты
VALUES (NULL,'$name','$surname','$pas')")
вот в этой строке происходит ошибка. с помощью метода пост отправляю запрос.
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
24.08.2017, 09:12
id сам назначается таблицей.
первый параметр строка соединения. второй параметр запрос в базу.
по вашему коду сделал пример. думаю понятно где что добавить и изменить.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$id = NULL;
$name = $_POST['name'];
$surname = $_POST['surname'];
$pas = $_POST['pas']; 
if (!empty($_POST['name']) && !empty($_POST['surname'] && !empty($_POST['pas']))) {
//Вставляем данные, подставляя их в запрос
$connect = new mysqli("localhost", "user", "password", "database");
$sql = mysqli_query($connect, "INSERT INTO `users` SET ('name', 'surname', 'pas') VALUES ('$name','$surname','$pas')");
//Если вставка прошла успешно
if ($sql) {
echo "<p>Данные успешно добавлены в таблицу.</p>";
} 
else 
{
echo "<p>Произошла ошибка.</p>";
}
}
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 09:47  [ТС]
спасибо за поправку но данные не добавляются в базу. очень странно.
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
24.08.2017, 11:43
Попробуйте так, должно работать. Если нет то ошибка в подключение.

PHP
1
2
3
4
5
6
$connect = mysqli_connect("localhost", "user", "password", "database");
$sql = "INSERT INTO `users` ('name', 'surname', 'pas') VALUES ('$name','$surname','$pas')";
$conn = mysqli_query($connect, $sql);
 
if ($conn) { echo "<p>Данные успешно добавлены в таблицу.</p>";
} else {echo "<p>Произошла ошибка.</p>";}
Добавлено через 23 минуты
Либо так
PHP
1
2
3
4
5
$connect = mysqli_connect("localhost", "user", "password", "database");
$conn = mysqli_query($connect, "INSERT INTO `users` (name, surname, pas)  VALUES ('$name','$surname','$pas')");
 
if ($conn) { echo "<p>Данные успешно добавлены в таблицу.</p>";
} else {echo "<p>Произошла ошибка.</p>";}
проверьте переменные которые приходят. убедитесь что есть подключение к таблице
вот проверка соединения.

PHP
1
$connect = mysqli_connect("localhost", "user", "password", "database") die('Connection failed [' . $connect->connect_error . ']');
ну и кавычки в запросе проверьте их не должно быть на выборке в таблице и должны быть в переменных.
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 12:36  [ТС]
спасибо за старание помочь на увы не работает. пробовал дампнуть переменная connect возвращает значение NULL
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
24.08.2017, 12:46
пришлите строку подключения.

Вот это проверенно работает 100%
$connect = mysqli_connect("localhost", "root", "", "имя базы") or die('Соединение не удалось [' . $connect->connect_error . ']');
$conn = mysqli_query($connect, "INSERT INTO `имя таблицы` (name, surname, pas) VALUES ('$name','$surname','$pas')");

if ($conn) { echo "<p>Данные успешно добавлены в таблицу.</p>";
} else {echo "<p>Произошла ошибка.</p>";}

пришли те ошибки которые выдает сервер и что за сервер?
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 13:01  [ТС]
строка подключение к базе:
PHP/HTML
1
$connect = mysqli_connect("localhost", "user", "pass", "db");
строка ошибки сервера:
PHP/HTML
1
arning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp\www\test.ur\add.php on line 18
а вот весь код:
PHP/HTML
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
<?php require_once "bd.php" ?>
<!DOCTYPE html>
<html>
<head>
    <title>Bosh sahifa</title>
    <meta charset="utf-8">
</head>
<body>
<?php 
 
//Получаем значение переменных
$name = $_POST['name'];
$surname = $_POST['surname'];
$pas = $_POST['pas']; 
        if (!empty($_POST['name']) && !empty($_POST['surname']) && !empty($_POST['pas'])) {
    //Вставляем данные, подставляя их в запрос
    $sql = mysqli_query("INSERT INTO users (name, surname, pas) 
    VALUES ('$name','$surname','$pas')");
    //Если вставка прошла успешно
    if ($sql = true) {
        echo "<p>Данные успешно добавлены в таблицу.</p>";
    } 
    else 
    {
        echo "<p>Произошла ошибка.</p>";
    }
}
        
?>
</body>
</html>
Добавлено через 2 минуты
подключение к базе:
PHP
1
2
3
4
5
6
7
$servername = "localhost";
$username = "user";
$password = "password";
$db = "mydb"; // Имя Таблицы БД
 
// Подключение к базе данных
$db = mysqli_connect($servername,$username,$password) OR DIE("Не могу создать соединение ");
Добавлено через 2 минуты
WAMPSERVER 2.5
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
24.08.2017, 13:11
Цитата Сообщение от Uygur_93 Посмотреть сообщение
// Подключение к базе данных
$db = mysqli_connect($servername,$username,$pa ssword) OR DIE("Не могу создать соединение ");

Ошибка есть при подключение? Проверьте.
если даст ошибку то стоит переписать
$servername = "localhost";
$username = "root";
$password = "";
и убедится что существует база $db = "mydb"; // Имя Таблицы БД в которой есть таблица users.

Вот рабочий код. Он работает. Если нет то нужно править Mysql.

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
$connect= mysqli_connect($servername,$username,$password, $db) OR DIE("Не могу создать соединение ");
 
<?php require_once "bd.php" ?>
<!DOCTYPE html>
<html>
<head>
    <title>Bosh sahifa</title>
    <meta charset="utf-8">
</head>
<body>
<?php 
 
//Получаем значение переменных
$name = $_POST['name']; $surname = $_POST['surname']; $pas = $_POST['pas']; 
 
 if (!empty($name) && !empty($surname) && !empty($pas)) {
    //Вставляем данные, подставляя их в запрос
    $sql = mysqli_query($connect, "INSERT INTO `users` (name, surname, pas) VALUES ('$name','$surname','$pas')");
    //Если вставка прошла успешно
    if ($sql = true) { echo "<p>Данные успешно добавлены в таблицу.</p>";
    }  else  { echo "<p>Произошла ошибка.</p>"; }
}
        
?>
</body>
</html>
для подключения требуется 4 параметра 1 -имя сервера 2- имя пользователя 3- пароль 4- имя базы
для запроса нужно 2 параметра 1 подключение 2 сам запрос.
1
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 13:26  [ТС]
все в порядке но скрипт не заработал.

произошла ошибка выходит

может мне установить другой сервер.
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
24.08.2017, 13:28
Не в сервере дело а в его настройке. Что за ошмбка? И вы заменмли свой код?
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 13:36  [ТС]
я полностью заменил код на ваш рабочий. и выдает на надпись:

ПРОИЗОШЛА ОШИБКА.

значит работает else в коде

Добавлено через 3 минуты
заменил код на ваш. но выдает ошибку

ПРОИЗОШЛА ОШИБКА.

а насчет настройки сервера я ничего не трогал
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
24.08.2017, 13:36
Очень хорошо. Тепепь смотрим код самой формы, что в нем не так.
Нужно проверить что приходи и вообще доходит ли?
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 13:46  [ТС]
HTML5
1
2
3
4
5
6
7
8
<?php require_once "bd.php" ?>
 
<form action="add.php" method="post">
<input type="text" name="name" placeholder="Ism">
<input type="text" name="surname" placeholder="Familiya">
<input type="text" name="pas" placeholder="Parol">
<input type="submit" name="ok">
</form>
Добавлено через 3 минуты
проверил доходит только NAME а surname и pas не доходят.
вот результат отправки формы:

lenovosurnamepas

Malumot kiritilmadi.

я в форме отправил все три поля с значениями LENOVO
0
9 / 9 / 1
Регистрация: 07.09.2013
Сообщений: 96
24.08.2017, 14:16
и так Заменяйте все свои блоки на мои по местам обитания.
PHP
1
2
3
4
5
6
7
8
9
10
$connect= mysqli_connect($servername,$username,$password, $db) OR DIE("Не могу создать соединение ");//Подключаемся к Mysql
 
 if (isset($_POST['submit'])) { //Проверка на нажатие кнопки submit
     $name = htmlspecialchars($_POST['name']); $surname = htmlspecialchars($_POST['surname']); $pas = htmlspecialchars($_POST['pas']); // Назначение переменных из формы.
    //Вставляем данные, подставляя их в запрос
    $sql = mysqli_query($connect, "INSERT INTO `users` (name, surname, pas) VALUES ('$name','$surname','$pas')"); // Запрос на сохранение данных в таблице
    //Если вставка прошла успешно
    if ($sql = true) { echo "<p>Данные успешно добавлены в таблицу.</p>";
    }  else  { echo "<p>Данные не внесены.</p>"; }
};

HTML5
1
2
3
4
5
6
7
<!-- Форма отправки -->
<form action="add.php" method="POST">
<input type="text" name="name" placeholder="Ism">
<input type="text" name="surname" placeholder="Familiya">
<input type="text" name="pas" placeholder="Parol">
<input type="submit" name="submit" value="Записать">
</form>
0
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 37
24.08.2017, 15:21  [ТС]
и с вашем кодом тоже скрипт не работает.
если есть возможность обесните как можно сделать это при помощи ПДО
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.08.2017, 15:21
Помогаю со студенческими работами здесь

Добавление в бд через форму PHP
Выводит эту ошибку прошу помощи ,если вам не сложно Warning: mysql_query() expects parameter 2 to be resource, null given in...

Добавление данных в форму из предыдущих страниц
Здравствуйте! Можете подсказать в какую сторону копать или, если есть, скинуть пример, как реализовать подобное: Нужно чтобы в форме в...

Не знаю как сделать добавление контента на HTML-сайт через форму (нужна админка)
Сдрасте господа ! html освоил и теперя подскажите как произвести пополнение контента !что бы не через редактирование html а что бы через...

Редактирование данных в БД через форму
Здравствуйте! Есть код, который выводит некие данные из БД посредством mysqli_fetch_array (это фрагмент кода) // выводим в HTML-таблицу...

Добавление данных через форму в таблицу базы данных MS SQL
Здравствуйте! Я делаю форму для добавления записи в таблицу базы данных, созданную в MS SQL 2008. В таблице три поля...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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