Программирование > Perl

SQl запрос в базу MySQL

(1/3) > >>

Timofey:
pole1 pole2
                           q 1
                           w 2
                           e 3
                           r 4

                           как узнать какой букве какая цифра соответствует

                           use DBI;

                           $dbdriver = "mysql";

                           $hostname = "localhost";
                           $port = "3306";
                           $username = "qqqq";
                           $passwordb = "qqqq";
                           $basename = "Worktime";
                           $tablename = "www";
                           print "Content-type: text/html

";
                           $dbh =
                           DBI->connect("dbi:$dbdriver:$basename:$hostname:$port","$username","$passwordb");

                           $sqlstatement = "SELECT pole1,pole2 FROM $tablename" WHERE pole1=\'w\';
                           $sth = $dbh->prepare($sqlstatement);
                           $sth->execute || die "Невозможно выполнить SQL-запрос.";
                           while (@row=$sth->fetchrow_array) {print @row
;}

                           print "
";

                           при таком запросе не работает,хотя другие запросы работают,типа $sqlstatement =
                           "SELECT pole1,pole2 FROM $tablename"; и т.д. в чем беда?

Chs:

--- Цитировать ---Timofey (03-05-2001 11:06):
                           $sqlstatement = "SELECT pole1,pole2 FROM $tablename" WHERE pole1=\'w\';
                           $sth = $dbh->prepare($sqlstatement);

--- Конец цитаты ---
С кавычками поаккуратнее.:))
$sqlstatement = "SELECT pole1,pole2 FROM $tablename WHERE pole1=?";
$sth = $dbh->prepare($sqlstatement);
$sth -> execute(\'w\');
Далее по тексту.:))

vlad:

--- Цитировать ---Timofey (03-05-2001 11:06):
pole1 pole2
                           q 1
                           w 2
                           e 3
                           r 4

                           как узнать какой букве какая цифра соответствует

                           use DBI;

                           $dbdriver = "mysql";

                           $hostname = "localhost";
                           $port = "3306";
                           $username = "qqqq";
                           $passwordb = "qqqq";
                           $basename = "Worktime";
                           $tablename = "www";
                           print "Content-type: text/html

";
                           $dbh =
                           DBI->connect("dbi:$dbdriver:$basename:$hostname:$port","$username","$passwordb");

                           $sqlstatement = "SELECT pole1,pole2 FROM $tablename" WHERE pole1=\'w\';
                           $sth = $dbh->prepare($sqlstatement);
                           $sth->execute || die "Невозможно выполнить SQL-запрос.";
                           while (@row=$sth->fetchrow_array) {print @row
;}

                           print "
";

                           при таком запросе не работает,хотя другие запросы работают,типа $sqlstatement =
                           "SELECT pole1,pole2 FROM $tablename"; и т.д. в чем беда?
--- Конец цитаты ---

A куда ты вставил выражение Where. ?

должно быть :

$sqlstatement = "SELECT pole1,pole2 FROM $tablename  WHERE pole1=\'w\'";

Для справки скачай мою книгу по SQL, PL/SQL ( справочник ) :
  http://www.deltacom.co.il/rus/document/oracle_ref.htm

cj:

--- Цитировать ---vlad (03-05-2001 16:03):

--- Цитировать ---Timofey (03-05-2001 11:06):
pole1 pole2
                           q 1
                           w 2
                           e 3
                           r 4

                           как узнать какой букве какая цифра соответствует

                           use DBI;

                           $dbdriver = "mysql";

                           $hostname = "localhost";
                           $port = "3306";
                           $username = "qqqq";
                           $passwordb = "qqqq";
                           $basename = "Worktime";
                           $tablename = "www";
                           print "Content-type: text/html

";
                           $dbh =
                           DBI->connect("dbi:$dbdriver:$basename:$hostname:$port","$username","$passwordb");

                           $sqlstatement = "SELECT pole1,pole2 FROM $tablename" WHERE pole1=\'w\';
                           $sth = $dbh->prepare($sqlstatement);
                           $sth->execute || die "Невозможно выполнить SQL-запрос.";
                           while (@row=$sth->fetchrow_array) {print @row
;}

                           print "
";

                           при таком запросе не работает,хотя другие запросы работают,типа $sqlstatement =
                           "SELECT pole1,pole2 FROM $tablename"; и т.д. в чем беда?
--- Конец цитаты ---

A куда ты вставил выражение Where. ?

должно быть :

$sqlstatement = "SELECT pole1,pole2 FROM $tablename  WHERE pole1=\'w\'";

Для справки скачай мою книгу по SQL, PL/SQL ( справочник ) :
  http://www.deltacom.co.il/rus/document/oracle_ref.htm

--- Конец цитаты ---

Извини за выражение, но ты ламернул :-)
Это называется прибиндить параметр.

2Chs: это делается так
$sth->bind_param(1, \'w\');
$sth->execute();

:-)

Chs:

--- Цитировать ---cj (04-05-2001 09:20):

Извини за выражение, но ты ламернул :-)
Это называется прибиндить параметр.

2Chs: это делается так
$sth->bind_param(1, \'w\');
$sth->execute();

:-)
--- Конец цитаты ---
Это не я ламернул, а ты лажанулся.:)
Доки надо внимательнее читать, и по execute в частности.

--- Код: ---If any arguments are given, then execute will effectively call
bind_param for each value before executing the statement.
Values bound in this way are usually treated as SQL_VARCHAR types
unless the driver can determine the correct type (which is rare), or unless
bind_param (or bind_param_inout) has already been used to specify the type.
--- Конец кода ---

P.S.: Не наезжай если не уверен.:)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 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 
Перейти к полной версии