Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Сохранение данных в MySQL через php

Ответить
Настройки темы
[решено] Сохранение данных в MySQL через php

Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: FoXLee
Дата: 08-09-2008
Здравствуйте уважаемые камрады, вот уже замучался задачку решать, сразу скажу, что я новичок, только недавно поднял апач, mysql, php и не получается заставить данные пересылаться в базу данных через веб-интерфейс.

Код: Выделить весь код
<HTML>
<HEAD>
<TITLE>Добавление вакансий</TITLE>
</HEAD>
<BODY>
<H1>Добавление записей в список вакансии</H1>
<FORM METHOD="post" ACTION="add_vac.php">
<P><STRONG>Номер вакансии :</STRONG><BR>
<INPUT TYPE="text" NAME="vac_id" SIZE=5 MAXLENGHT=5></p>
<P><STRONG>Должность :</STRONG><BR>
<INPUT TYPE="text" NAME="vac_name" SIZE=100 MAXLENGTH=150</p>
<P><STRONG>Возраст :</STRONG><BR>
<INPUT TYPE="text" NAME="age" SIZE=20 MAXLENGTH=100</p>
<P><STRONG>Образование :</STRONG><BR>
<INPUT TYPE="text" NAME="formation" SIZE=100 MAXLENGTH=150</p>
<P><STRONG>Опыт работы :</STRONG><BR>
<INPUT TYPE="text" NAME="exp" SIZE=100 MAXLENGTH=150</p>
<P><STRONG>Обязанности :</STRONG><BR>
<TEXTAREA NAME="duties" COLS=50 ROWS=3 WRAP=virtual></TEXTAREA></p>
<P><STRONG>Условия :</STRONG><BR>
<TEXTAREA NAME="conditions" COLS=50 ROWS=3 WRAP=virtual></TEXTAREA></p>
<P><STRONG>Контакты :</STRONG><BR>
<INPUT TYPE="text" NAME="contacts" SIZE=100 MAXLENGTH=150</p>
<P><STRONG>Дата добавления вакансии (ГГГГ-ММ-ДД) :</STRONG><BR>
<INPUT TYPE="text" NAME="date" SIZE=10 MAXLENGTH=10</p>
<P><INPUT TYPE="SUBMIT" NAME="submit" VALUE="Добавить"></P>
</FORM>
</BODY>
</HTML>
Код: Выделить весь код
<?
if ((!$vac_id) || (!$vac_name) || (!$conditions) || (!$contacts) || (!$date)) {
header("Location: http://localhost/add_vac.html");
exxit;
}
$db_name = "goDB";
$table_name = "vacancies";
$connection = @mysql_connect("localhost", "root", "qwerty")
or die("Невозможно подключиться MySQL.");
$db = @mysql_select_db ($db_name, $connection)
or die ("Невозможно выбрать базу данных.");
$sql = "INSERT INTO $table_name
(vac_id, vac_name, age, formation, exp, duties, conditions, contacts, date)
VALUES
(\"$vac_id\", \"$vac_name\",\"$age\",\"$formation\",\"$exp\",\"$duties\",\"$conditions\",\"$contacts\", \"$date\")";
$result = mysql_query ($sql, $connection)
or die ("Невозможно выполнить запрос.");
?>
<HTML>
<HEAD>
<TITLE>Добавление вакансии</TITLE>
</HEAD>
<BODY>
<H1>Добавление записей в <? echo "$table_name"; ?></H1>
<p><STRONG>Номер вакансии: </STRONG><BR>
<? echo "$vac_id"; ?></p>
<p><STRONG>Должность: </STRONG><BR>
<? echo "$vac_name"; ?></p>
<p><STRONG>Возраст: </STRONG><BR>
<? echo "$age"; ?></p>
<p><STRONG>Образование: </STRONG><BR>
<? echo "$formation"; ?></p>
<p><STRONG>Опыт работы: </STRONG><BR>
<? echo "$exp"; ?></p>
<p><STRONG>Обязанности: </ STRONG><BR>
<? echo stripslashes ($duties); ?></p>
<p><STRONG>Условия: </ STRONG><BR>
<? echo stripslashes ($conditions); ?></p>
<p><STRONG>Контакты: </STRONG><BR>
<? echo "$contacts"; ?></p>
<p><STRONG>Дата добавления вакансии: </STRONG><BR>
<? echo "$date"; ?></p>
<p><a href="add_vac.html">Добавить ещё одну вакансию</a></p>
</BODY>
</HTML>

Отправлено: 20:04, 08-09-2008

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата FoXLee:
exxit; »
Тут опечатка.

И какую ошибку выдаёт?

Отправлено: 20:22, 08-09-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 34
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата FoXLee:
if ((!$vac_id) || (!$vac_name) || (!$conditions) || (!$contacts) || (!$date)) »
замени на if ((!$_POST['vac_id']) || (!$_POST['vac_name']) || (!$_POST['conditions']) || (!$_POST['contacts']) || (!$_POST['date']))

Цитата FoXLee:
(\"$vac_id\", \"$vac_name\",\"$age\",\"$formation\",\"$exp\",\"$duties\",\"$conditions\",\"$contacts\", \"$date\")"; »
В базе все поля типа Varchar?

Отправлено: 20:47, 08-09-2008 | #3


Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Господи, так спешил, что забыл главное.. Ошибку выдает - Невозможно выполнить запрос, т.е. ошибка в блоке $sql.

Спасибо, завтра попробую. Как-то на "exxit" не обратил внимания, столько вариантов других пробовал.

Цитата engwar:
В базе все поля типа Varchar?
------- »
нет, пару varchar, 1 поле дата, и там где textarea - поля text.

Отправлено: 21:34, 08-09-2008 | #4


Аватара для timon4ik

Старожил


Сообщения: 272
Благодарности: 37

Профиль | Отправить PM | Цитировать


FoXLee,
перед строчкой
PHP код: Выделить весь код

$result mysql_query ($sql$connection

проверьте правильность запроса:
PHP код: Выделить весь код

echo $sql


Отправлено: 21:46, 08-09-2008 | #5


Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата timon4ik:
проверьте правильность запроса:
PHP код: »
Выдает:
INSERT INTO vacancies (vac_id, vac_name, age, formation, exp, duties, conditions, contacts, date) VALUES ("4343", "43434343","43434343","43434343","43434343","4343","434343434343","4343", "43434343")Невозможно выполнить запрос.


43- это я вбивал в поля.

Отправлено: 11:16, 09-09-2008 | #6


Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Переделал исходя из этой темы:
Код: Выделить весь код
<?
if ((!$vac_id) || (!$vac_name) || (!$conditions) || (!$contacts) || (!$date)) {
header("Location: http://localhost/add_vac.html");
exit;
}
if (isset($_POST['submit'])) {

$db = mysql_connect("localhost", "root", "qwerty");
$table_name = 'vacancies';
mysql_select_db("GoDB", $db);
$vac_id = mysql_real_escape_string($_POST['vac_id']);
$vac_name = mysql_real_escape_string($_POST['vac_name']);
$age = mysql_real_escape_string($_POST['age']);
$formation = mysql_real_escape_string($_POST['formation']);
$exp = mysql_real_escape_string($_POST['exp']);
$duties = mysql_real_escape_string($_POST['duties']);
$conditions = mysql_real_escape_string($_POST['conditions']);
$contacts = mysql_real_escape_string($_POST['contacts']);
$date = mysql_real_escape_string($_POST['date']);

$sql = "insert into vacancies VALUES ('$vac_id', '$vac_name', '$age', '$formation', '$exp', '$duties', '$conditions', '$contacts', '$date')";
$result = mysql_query ($sql);
echo "Thx u.\n";
} else
?>
<HTML>
<HEAD>
<TITLE>Добавление вакансии</TITLE>
</HEAD>
<BODY>
<H1>Добавление записей в <? echo "$table_name"; ?></H1>
<p><STRONG>Номер вакансии: </STRONG><BR>
<? echo "$vac_id"; ?></p>
<p><STRONG>Должность: </STRONG><BR>
<? echo "$vac_name"; ?></p>
<p><STRONG>Возраст: </STRONG><BR>
<? echo "$age"; ?></p>
<p><STRONG>Образование: </STRONG><BR>
<? echo "$formation"; ?></p>
<p><STRONG>Опыт работы: </STRONG><BR>
<? echo "$exp"; ?></p>
<p><STRONG>Обязанности: </ STRONG><BR>
<? echo stripslashes ($duties); ?></p>
<p><STRONG>Условия: </ STRONG><BR>
<? echo stripslashes ($conditions); ?></p>
<p><STRONG>Контакты: </STRONG><BR>
<? echo "$contacts"; ?></p>
<p><STRONG>Дата добавления вакансии: </STRONG><BR>
<? echo "$date"; ?></p>
<p><a href="add_vac.html">Добавить ещё одну вакансию</a></p>
</BODY>
</HTML>
Ошибок нет, но в БД не добавляется (смотрел через phpmyadmin) БД mysql и phpmyadmin принимают данные, а вот нужная никак не хочет.

Отправлено: 12:43, 09-09-2008 | #7


Новый участник


Сообщения: 34
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата FoXLee:
$result = mysql_query ($sql, $connection) or die ("Невозможно выполнить запрос."); »
замени на
PHP код: Выделить весь код

$result mysql_query ($sql$connection) or die (mysql_errno() . ": " mysql_error()); 



Цитата FoXLee:
Ошибок нет, но в БД не добавляется »
Не факт что ошибок нет, просто может сообщение о них не выдается.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:45, 09-09-2008 | #8


Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


engwar, Заработало, спасибо!
После замены этого куска кода выдало:
1292: Incorrect date value: '42424' for column 'date' at row 1

Заполнил поле "Дата" правильно - добавилось в таблицу. Я и до этого писал дату правильно но иногда просто ставил туда числа - не думал, что из-за одной колонки не добавится вся.

Отправлено: 13:03, 09-09-2008 | #9



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Сохранение данных в MySQL через php

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Выборка данных из mysql и сортировка на php dima1981 Вебмастеру 4 11-11-2008 15:06
MySQL - [решено] сохранение данных в базе данных Mysql TigerZaka Программирование и базы данных 4 24-08-2008 15:48
[решено] Apache 2.2.8 + Php 5.2.6 + MySQL 5.0.51b (win) - не работает php v0f41k Вебмастеру 4 11-05-2008 22:08
[решено] Сохранение текста в PHP. DaRiYs Вебмастеру 11 28-04-2008 15:04
[решено] Восстановление винды или сохранение данных при переустановке Nuri Ноутбуки 12 30-07-2007 20:14




 
Переход