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

Ошибка при записи в БД MySql

20.12.2018, 12:57. Показов 1320. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу не судить строго, но с РНР знаком слабо, если не сказать больше. Но в силу специфики работы в IT сфере (а именно наверное в силу знакомой всем проблемы "ты ж программист") пришлось писать страничку для генерации промокодов с последующей записью в базу. В итоге получилось следующее. Функционал работает, но при попытке записи в БД выдает ошибку Warning: mysql_query() expects parameter 1 to be string, resource given in и ругается на строку записи в БД. Кто может, подскажите, где я косякнул? (весь код привожу ниже)
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
60
61
62
63
64
65
66
67
<html>
<head>
 <title>ПОЛУЧЕНИЕ ПРОМОКОДА</title>
</head>
<body>
<?php
 
//ГЕНЕРИРОВАНИЕ ПРОМОКОДА
 
$chars = '1234567890';
$promocode = '';
for($ichars = 0; $ichars < 6; ++$ichars) {
    $random = str_shuffle($chars);
    $promocode .= $random[0];
}
?>
 
<!--ФОРМА ДЛЯ ЗАПОЛНЕНИЯ-->
 
 <form method="POST" action=" ">
  <input name="s_name" type="text" placeholder="Фамилия"/>
  <input name="name" type="text" placeholder="Имя"/>
  <input name="l_name" type="text" placeholder="Отчество"/>
  <input name="phone" type="text" placeholder="Номер телефона"/>
  <input name="e_mail" type="text" placeholder="e-mail"/>
  <input name="code" type="hidden" value="<?php echo $promocode;?>"/>
  <input name="date" type="hidden" value="<?php echo date('d.m.Y H:i:s');?>"/>
  <input name="add" type="submit" value="Получить подарочный код"/>
 </form>
 
 <?php
 
// ПАРАМЕТРЫ ПОДКЛЮЧЕНИЯ К БД
 
$db_host = "localhost";
$database = 'promo';
$db_user = "admin";
$db_password = "password";
 
// ПОДКЛЮЧЕНИЕ К БД
 
$db = mysql_connect($db_host,$db_user,$db_password,$database);
 
//УСТАНОВКА КОДИРОВКИ
 
mysql_query ("SET NAMES 'utf8'");
 
// ПОЛУЧЕНИЕ И ПРОВЕРКА ДАННЫХ ИЗ ФОРМЫ
 
 if(isset($_POST['add'])) {
 $s_name=strip_tags(trim($_POST['s_name']));
 $name=strip_tags(trim($_POST['name']));
 $l_name=strip_tags(trim($_POST['l_name']));
 $phone=strip_tags(trim($_POST['phone']));
 $e_mail=strip_tags(trim($_POST['s_name']));
 $code=$_POST['code'];
 $date=$_POST['date'];
 
// ЗАПИСЬ В ТАБЛИЦУ БД
 
 mysql_query ($db, "INSERT INTO promocode(s_name,name,l_name,phone,e_mail,code,date)  VALUES ('$s_name', '$name', '$l_name', '$phone', '$e_mail', '$code', $date)");
 mysql_close();
 echo 'Ваш промокод успешно зарегистрирован и выслан Вам на указанный почтовый адрес';
 } 
 ?>
</body>
</html>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.12.2018, 12:57
Ответы с готовыми решениями:

Ошибка при записи в БД MySQL
Здравствуйте, у меня возникла проблема, впервые работаю с БД. Так вот, у меня есть некая форма которую я отправляю в БД. Но при нажатии...

Ошибка в MySQL при добавлении записи
Скажите чем может быть вызвана ошибка??? (Может выбран язык не правильный по умолчанию)

Ошибка при добавлении записи в БД MySQL
Здравствуйте, не знаете в чем причина? Ввожу значения в текстбоксы, и при нажатии кнопки выдает данную ошибку

3
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
20.12.2018, 15:06
creakl, в 61-й строке без $db.
А вообще mysql удалена из модерновых версий php, поэтому переходите пока не поздно на pdo.
1
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
20.12.2018, 15:07
mysql_* и mysqli_* - разные функции, в некоторых из них параметры идут в другом порядке. В частности, mysql_query принимает sql-запрос 1-ым параметром, mysqli_query вторым.

И ещё, mysql_connect не принимает название БД, этот параметр задаётся отдельной функцией http://php.net/manual/ru/funct... ect-db.php
1
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 5
20.12.2018, 18:36  [ТС]
Да, спасибо. Изменение запроса на подключение и вынос названия в отдельную функцию помогло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.12.2018, 18:36
Помогаю со студенческими работами здесь

DATETIME - ошибка при добавлении записи в mysql
Добрый день, не могу разобраться с синтаксисом в sql запросе. Тип данных &quot;DATETIME&quot; имеет вид ГГГГ-ММ-ДД ЧЧ:ММ:СС Пишу: ...

Ошибка при попытке добавления записи в базу данных (MySQL)
Qt 4.8.5, MySQL Community Server (mysql-5.5.23-win32.msi). Собрал драйвер под 10 студию (gmake, nmake). Данные с базы получаю, но добавить...

Ошибка при записи в базу MySQL: "Incorrect string value"
Incorrect string value: '\x98\x98\x98\x98' for column 'text' at row 1 Работаю через НетБинс, у MySQL базы кодировка cp1251. Как...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Внешние ключи Cascade: При записи в таблицу тикетс — все записывается, а при записи в hub - ошибка
Никак не могу разобраться со связями и внешними ключами в базе. Ограничение на ключи сделал Cascade проблема в том что при записи...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru