imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 06.06.2003, 00:28     # 1
kurlya
Guest
 
Сообщения: n/a

КАК ДОБАВИТЬ ДАННЫЕ?

ЕСТЬ ТАКАЯ ФОРМА:
#!/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?
 
Старый 06.06.2003, 02:40     # 2
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
ну зачем же кричать?

вносится, потомучто в кавычках

мож я и дурак? но не стоит ли всё одним запросом?
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 06.06.2003, 11:29     # 3
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
Согласно SQL-синтаксису нецифровые значения переменных влюбых запросах базыдолжны стоять в одинарных апостофах,
т.е вместо строчки

$sth = $dbh->query ("insert into records(npp) values ($np)"); -
неверно !

надо писать

$sth = $dbh->query ("insert into records(npp) values ('$np');");

В принципе желательно для перестраховкивсе значения заключать в кавычки.

Та же хорошо выводить ошибку SQL или просматрвать на этапе отладки генерируемый запрос:

$quertmp="insert into records(npp) values ('$np');";
print "$quertmp";
$sth = $dbh->query ($quertmp);
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 06.06.2003, 14:57     # 4
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
а я что сказал?
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 06.06.2003, 15:55     # 5
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
То же самое. Просто мне захотелось выпендриться и дать более развернутый и аргументированный ответ :xex:
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 06.06.2003, 17:18     # 6
medved2002
Guest
 
Сообщения: n/a

Мне кааться что так будет правильнее...
$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')");

ибо иначе он вставит кучу записей в которой бедт только один столбец правильный
 
Старый 06.06.2003, 19:58     # 7
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
Я вот тож думаю.. но а мож так и задумано?
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 07.06.2003, 15:24     # 8
medved2002
Guest
 
Сообщения: n/a

навряд ли
 

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:04.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.