powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / КАК ДОБАВИТЬ ДАННЫЕ?
4 сообщений из 4, страница 1 из 1
КАК ДОБАВИТЬ ДАННЫЕ?
    #32177981
Dema
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЕСТЬ ТАКАЯ ФОРМА:
#!/usr/bin/perl
use CGI ;
use strict;
print "Content-Type:text/html;win-1251\n\n";
print "<html><body bgcolor='lightblue' text='black' link='green' vlink='magenta'><h2>test</h2><hr>\n";
print "<pre>";
print "<b>Заполните пожалуйста предложенную форму и введенные Вами данные будут добавлены в таблицу </b>";
print "<form Method=Post Action=/cgi/add.pl>";
print "<pre>";
print " <b> NPP </b> <input type=text name=npps value='' maxlength=3 size=2>";
print "<b> NUMBER </b><input type=text name=numbers value='' maxlength=7 size=7>";
print" <b> FILM </b><input type=text name=films value='' maxlength=30 size=10>";
print"<b> AUTORS </b><input type=text name=autorss value='' maxlength=20 size=10>";
print "\n";
print "\n";
print "\n";
print"<b>TIMECODE</b><input type=text name=timecodes value='' maxlength=6 size=6>";
print"<b> ANNOTATION </b><input type=text name=annotations value='' maxlength=50 size=10>";
print "\n";
print "\n";
print "\n";
print"<b>DATA DATA DATA";
print "\n";
print"RELEASE OCENKI END</b>";
print "\n";

print"<input type=text name=date_of_recordss value='' maxlength=10 size=10>";
print"<b> </b><input type=text name=data_ocenkis value='' maxlength=10 size=10><b> ";
print" </b><input type=text name=data_ends value='' maxlength=10 size=10>";

print "\n";
print "\n";
print "\n";

print"<b> </b> <input type=submit value='INSERT RECORD'></pre> ";
print "</body></html>\n";

И ТАКОЙ СКРИПТ:

#!/usr/bin/perl
use CGI ;
$query = new CGI;
print "Content-Type:text/html;win-1251\n\n";
print "<html><body bgcolor='lightblue' text='black' link='green' vlink='magenta'><h2>test</h2><hr>\n";
use dbi;
use Mysql;
$dbh = Mysql->connect($localhost, $ddd, $root);
$dbh->selectdb("ddd");
$np = $query->param("npps");
$numb = $query->param("numbers");
$fil = $query->param("films");
$autor = $query->param("autorss");
$time = $query->param("timecodes");
$annot = $query->param("annotations");
$data_rel = $query->param("date_of_recordss");
$data_ocen = $query->param("data_ocenkis");
$data_en = $query->param("data_ends");


$sth = $dbh->query ("insert into records(npp) values ($np)");
$sth = $dbh->query ("insert into records(number) values ($numb)");
$sth = $dbh->query ("insert into records(film) values ('$fil')");
$sth = $dbh->query ("insert into records(autors) values ('$autor')");
$sth = $dbh->query ("insert into records(time_code) values ($time)");
$sth = $dbh->query ("insert into records(annotation) values ('$annot')");
$sth = $dbh->query ("insert into records(data_ocenki) values ($data_ocen)");
$sth = $dbh->query ("insert into records(date_of_rec) values ($data_rel)");
$sth = $dbh->query ("insert into records(data_end) values ($data_en)");

print "<a href='http://localhost/'>в начало</a>";
print "</body></html>\n";

ВОПРОС:

ПОЧЕМУ В БАЗУ ДАННЫХ ВНОСИТСЯ ТОЛЬКО СТРОКА FILM?
...
Рейтинг: 0 / 0
КАК ДОБАВИТЬ ДАННЫЕ?
    #32178093
SnowQueen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вы уверены, что заполняется только строка film? Похоже, должны еще заполниться autors и annotation. Я, правда, синтаксиса Перла не знаю, но обратила внимание на наличие или отсутствие апострофов при заполнении полей. Может, в этом проблема?
...
Рейтинг: 0 / 0
КАК ДОБАВИТЬ ДАННЫЕ?
    #32178400
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему не так:
Код: plaintext
1.
2.
3.
4.
5.
6.
$sth = $dbh->query ( "
  INSERT INTO records
    (npp,number,film,autors,time_code,annotation,data_ocenki,date_of_rec,data_end)
  VALUES
    ('$np','$numb','$fil','$autor','$time','$annot','$data_ocen','$data_rel','$data_en')
" ); 


С одной стороны все значения полей надо обрамлять апострофом, ноиногда сервер может ругаться когда значение INT обрамлено апострофом... Одним словом пробуй-смотри на результат!
...
Рейтинг: 0 / 0
КАК ДОБАВИТЬ ДАННЫЕ?
    #32188721
walrus_mysql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надо полагать таблица содержит поле типа char или varchar.

Поэтому когда вы вставляете film - все в порядке. Когда вы в это поле вставляете число ( точнее - не строку, без апострофов) - mysql возвращает ощибку. Но вы то в скрипте ответ сервера не проверяете (почемуто).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / КАК ДОБАВИТЬ ДАННЫЕ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]