Forum Webscript.Ru
Программирование => Perl => Тема начата: Лысяня от 26 Декабря 2003, 16:46:43
-
Не хочет работать и все ...
Не могли бы ктонибуть скинуть код для обращения к базе данных. Все установлено локально.
ActivePerl-5.8.0.806-MSWin32-x86.msi
apache_2.0.47-win32-x86-no_ssl.msi
Выдает 500 ошибку..::insane:
-
use DBI;
$name_base_mysql = "demo";
$user_base_mysql = "demo";
$pass_base_mysql = "demo";
$host_base_mysql = "localhost";
$port_base_mysql = "3306";
$dbh = "DBI:mysql:$name_base_mysql:$host_base_mysql:$port_base_mysql";
$dbh = DBI->connect($dbh, $user_base_mysql, $pass_base_mysql);
$sql = "SELECT value1, value1 FROM my_table WHERE value1 = \'1\' ";
$sth = $dbh -> prepare($sql);
$sth -> execute();
while ($tmp = $sth -> fetchrow_arrayref()) {
$var0 = $tmp -> [0];
$var1 = $tmp -> [1];}
$sth -> finish();
$dbh -> disconnect();
print "Content-type: text/html; charset=windows-1251\\n\\n";
print qq "$var0 - $var1";
exit;
-
как вариант
use CGI::Carp qw (fatalsToBrowser);
-
#!perl
use DBI;
$name_base_mysql = "test";
$user_base_mysql = "root";
$pass_base_mysql = "password";
$host_base_mysql = "localhost";
$port_base_mysql = "3306";
$dbh = "DBI:mysql:$name_base_mysql:$host_base_mysql:$port_base_mysql";
$dbh = DBI->connect($dbh, $user_base_mysql, $pass_base_mysql);
$sql = "SELECT name, name FROM tabl WHERE name = \'tri\' ";
$sth = $dbh -> prepare($sql);
$sth -> execute();
while ($tmp = $sth -> fetchrow_arrayref()) {
$var0 = $tmp ->
$var1 = $tmp -> [1];}
$sth -> finish();
$dbh -> disconnect();
print "Content-type: text/html; charset=windows-1251\\n\\n";
print qq "$var0 - $var1";
exit;
База test
таблица tabl
---------------------------------
name | name2
---------------------------------
raz | dva
tri | chetire
pyat | shest
---------------------------------
И опять 500, что не так?
-
#!/usr/bin/perl - полный путь к Perl
-
У меня на локальном компьютере перл по адресу D:\\server\\Perl
с #!perl скрипты без MySQL работают нормально
-
поставь use CGI::Carp qw (fatalsToBrowser); во вторую строчку.
-
Лысяня
А как у тебя с модулем DBI обстоят дела?
А самое главное как обстоят дела с модулем DBD::mysql?
Нехорошее у меня чувство, что про него то ты и забыл, т.к. установку DBI недавно уже проходили...
А вообще неплохо было бы логи ошибок посмотреть, либо то что выведет скрипт в браузер при использовании
use CGI::Carp qw (fatalsToBrowser);
-
Ввел такую строчку, вот что получилось:
Software error:
install_driver(mysql) failed: Can\'t locate DBD/mysql.pm in @INC (@INC contains: D:/server/Perl/lib D:/server/Perl/site/lib .) at (eval 1) line 3.
Perhaps the DBD::mysql perl module hasn\'t been fully installed,
or perhaps the capitalisation of \'mysql\' isn\'t right.
Available drivers: ExampleP, Proxy, Sponge.
at D:/server/cgi-bin/index.pl line 11
DBI поставилось нормально (вроде)
-
DBD::mysql поставь, без этого ничего работать не будет.
-
Поставил, все отлично!!!
АААгромное спасибо.